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

Глава 12. Расширения языка

10 Обобщённые алгебраические типы данных

Обобщённые алгебраические типы данных, или GADT, расширяют обычные типы-суммы двумя способами: ограничения на параметры типа могут меняться в зависимости от конструктора значения, а некоторые переменные типа могут квантифицироваться экзистенциально. Они описаны в главе 7.

(Добавлено в OCaml 4.00)

constr-decl ::= ...
∣ constr-name : [ constr-args -> ] typexpr
type-param ::= ...
∣ [variance] _

Случаи опровержения. (Добавлено в OCaml 4.03)

matching-case ::= pattern [when expr] -> expr
∣ pattern -> .

Явное указание имён экзистенциальных типов. (Добавлено в OCaml 4.13.0)

pattern ::= ...
∣ constr ( type { typeconstr-name }+ ) ( pattern )
« Переопределение в операторах openСинтаксис доступа к Bigarray »
Авторское право © 2026 Institut National de Recherche en Informatique et en Automatique

© 1995-2026 INRIA.
https://ocaml.org/manual/5.5/gadts.html

Spec-Zone.ru

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