понимание синтаксиса модуля, определенного в верхней части файла reasonml

#reason

#Причина

Вопрос:

У меня возникли трудности с поиском ответа на следующий синтаксис в reasonml

 module A = B;
 

Это определено в верхней части .re файла, и я не знаю, откуда B оно берется.

Редактировать:

Когда я пытаюсь зарегистрировать как A, так и B, Js.log я получаю сообщение об ошибке компилятора, в котором говорится, что конструктор не найден.

Ответ №1:

Это псевдоним модуля. Он связывает имя существующего модуля, на который ссылается имя B , с именем A .

B может ссылаться на любой модуль в области видимости, и модули могут быть включены в область видимости несколькими способами. Псевдоним модуля, такой как этот, является одним из способов. Это также может быть локальный подмодуль или подмодуль другого модуля, который был open отредактирован. Но большинство модулей в области видимости обычно являются модулями верхнего уровня, которые создаются из каждого исходного файла, видимого при компиляции текущего блока / модуля кода. Например, файл с именем foo.re создаст модуль с именем Foo .

Для получения более подробной информации см. Документацию Reason и документацию OCaml по модулям.