Spec-Zone.ru › OCaml 4.14

9.12 Единицы компиляции

unit-interface ::= { specification [;;] }
unit-implementation ::= [ module-items ]

Единицы компиляции связывают систему модулей и систему отдельной компиляции. Единица компиляции состоит из двух частей: интерфейса и реализации. Интерфейс содержит последовательность спецификаций, так же, как и содержимое выражения сигнатуры sig … end. Реализация содержит последовательность определений и выражений, так же, как и содержимое выражения модуля struct … end. У единицы компиляции также есть имя unit-name, полученное из имён файлов, содержащих интерфейс и реализацию (см. главу 11 для получения более подробной информации). Единица компиляции ведет себя примерно так же, как определение модуля

module unit-name : sig unit-interface end = struct unit-implementation end

Единица компиляции может ссылаться на другие единицы компиляции по их именам, как если бы они были обычными модулями. Например, если U — это единица компиляции, которая определяет тип t, другие единицы компиляции могут ссылаться на этот тип под именем U.t; они также могут ссылаться на U как на структуру в целом. За исключением имён других единиц компиляции, интерфейс единицы или реализация единицы не должны иметь других свободных переменных. Другими словами, проверка типов и компиляция интерфейса или реализации происходят в исходной среде

name1 : sig specification1 end … namen : sig specificationn end

где name1 … namen — имена других единиц компиляции, доступных в пути поиска (см. главу 11 для получения более подробной информации), и specification1 … specificationn — их соответствующие интерфейсы.

© 1995-2022 INRIA.
https://v2.ocaml.org/releases/4.14/htmlman/compunit.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API