模組 Stdlib.Type

module Type: Type

型別相等見證

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

eq 的目的是表示型別相等,這些相等性可能無法被型別檢查器知道(例如,因為它們可能依賴於動態數據)。

一個 (a, b) eq 型別的值表示型別 ab 相等的事實。

如果有一個值 eq : (a, b) eq 證明了型別 ab 相等,則可以通過模式匹配 Equal 將型別 a 的值轉換為型別 b 的值。

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

在運行時,此函數僅返回其第二個參數,不做更改。

型別識別符

module Id: sig .. end

型別識別符。