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

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

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

Обобщенные алгебраические типы данных, или GADTs, расширяют обычные типы данных сумм двумя способами: ограничения на параметры типа могут изменяться в зависимости от конструктора значения, и некоторые переменные типа могут быть квантифицированы экзистенциально. Они описаны в главе 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 »
Авторские права © 2024 Institut National de Recherche en Informatique et en Automatique

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

Spec-Zone.ru

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