Spec-Zone.ru › OCaml
☰Язык программирования OCaml
  • Язык программирования OCaml
  • Расширения языка

Глава 11 Язык программирования OCaml

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

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

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

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 — это имена других единиц компиляции, доступных в пути поиска (см. главу ‍13 для получения дополнительной информации), а specification1 … specificationn — это их соответствующие интерфейсы.

« Выражения модулей (реализации модулей)Язык программирования OCaml
Авторские права © 2024 Institut National de Recherche en Informatique et en Automatique

© 1995-2024 INRIA.
https://ocaml.org/manual/5.2/compunit.html

Spec-Zone.ru

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