Тип модуля
module Type: sig .. end
Интроспекция типов.
- Since 5.1
Свидетельство о равенстве типов
type (_, _) eq =
|
| Equal :
|
Цель 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-2024 INRIA.
https://ocaml.org/manual/5.2/api/Type.html