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