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