Что именно означает "верхний уровень" в программе Opa?
Я просматривал исходный код программы OpaDo и заметил, что в модуле Todo есть функция mypage
получил вызов. Эта функция объявлена в файле 'ui', но нигде в файле todo.opa
делает ui.opa
файл импортируется.
Это то, что подразумевается под "верхнего уровня"? Все ли функции, объявленные вне модулей, свободно доступны? Как насчет types
или же records
?
Признает ли компилятор эту зависимость и скомпилирует ли он ui.opa
автоматически при запросе на компиляцию todo.opa
?
1 ответ
По умолчанию все исходные файлы опа принадлежат одному и тому же пакету по умолчанию.
Поэтому, когда вы компилируете todo.opa и ui.opa, все функции, типы и записи доступны для других файлов в том же пакете.
"верхний уровень" означает объявление на первом уровне исходного файла, а не внутри функции.
Компилятор должен компилировать только необходимые файлы, когда вы используете несколько пакетов.