Spec-Zone.ru › OCaml

Тип модуля

module Type: sig .. end

Интроспекция типов.

  • С версии 5.1

Свидетельство равенства типов

type (_, _) eq = 
| Equal : ('a, 'a) eq

Назначение eq — представлять равенства типов, которые в противном случае могут быть неизвестны системе проверки типов (например, потому что они могут зависеть от динамических данных).

Значение типа (a, b) eq представляет факт равенства типов a и b.

Если имеется значение eq : (a, b) eq, доказывающее равенство типов a и b, его можно использовать для преобразования значения типа a в значение типа b посредством сопоставления с образцом для Equal:

      let cast (type a) (type b) (Equal : (a, b) Type.eq) (a : a) : b = a
    

Во время выполнения эта функция просто возвращает свой второй аргумент без изменений.

Идентификаторы типов

module Id: sig .. end

Идентификаторы типов.

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

Spec-Zone.ru

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