11.12 Модули компиляции
|
Модули компиляции связывают систему модулей и систему отдельной компиляции. Модуль компиляции состоит из двух частей: интерфейса и реализации. Интерфейс содержит последовательность спецификаций, так же как и внутри выражения сигнатуры sig … end. Реализация содержит последовательность определений и выражений, так же как и внутри выражения модуля struct … end. Модуль компиляции также имеет имя unit-name, полученное из имён файлов, содержащих интерфейс и реализацию (см. главу 13 для более подробной информации). Модуль компиляции работает примерно как определение модуля
Модуль компиляции может ссылаться на другие модули компиляции по их именам, как если бы они были обычными модулями. Например, если U — это модуль компиляции, который определяет тип t, другие модули компиляции могут ссылаться на этот тип под именем U.t; они также могут ссылаться на U как на структуру в целом. За исключением имён других модулей компиляции, интерфейс или реализация модуля не должны иметь других свободных переменных. Другими словами, проверка типов и компиляция интерфейса или реализации происходит в исходной среде
где name1 … namen — это имена других модулей компиляции, доступные в пути поиска (см. главу 13 для более подробной информации), а specification1 … specificationn — их соответствующие интерфейсы.
© 1995-2022 INRIA.
https://v2.ocaml.org/releases/5.0/htmlman/compunit.html