module Type:sig
..end
类型自省。
type (_, _)
eq =
| |
Equal : |
eq
的目的是表示类型检查器可能无法识别的类型相等关系(例如,因为它们可能依赖于动态数据)。
类型为 (a, b) eq
的值表示类型 a
和 b
相等。
如果有一个值 eq : (a, b) eq
证明类型 a
和 b
相等,那么可以使用它通过匹配 Equal
模式将类型为 a
的值转换为类型为 b
的值。
let cast (type a) (type b) (Equal : (a, b) Type.eq) (a : a) : b = a
在运行时,此函数只是返回其第二个参数,保持不变。
module Id:sig
..end
类型标识符。