1)I有這種模塊型如何匹配的抽象數據類型的構造中OCAML
module type MOD_SIG = sig type t val min val max;;
2)I創建基於上述
module MOD_UINT8 = struct
type t = int32
let min = Int32.of_int 0
let max = Int32.of_int 255 end;;
module MOD_UINT32 = struct
type t = int64
let min = Int64.zero
let max = Int64.of_int 4294967295 end ;;
3簽名兩個模塊)我創建一等模塊2
let uint_8 = (module MOD_UINT8:MOD_SIG);;
let uint_32 = (module MOD_UINT32:MOD_SIG);;
4)我想寫一個函數,接受第一類模塊作爲參數,並嘗試ma tch該模塊中的特定值是Int32
還是Int64
。
如
let module M=(val m:MOD_SIG) in match M.t with
| Int32 -> "Int32"
| Int64 -> "Int64"
我從@octachron才知道,那是不可能的。雖然我只是想提出這個問題來理解,如果可能有解決方法?
請問您可以使用標記工具來突出顯示代碼塊嗎?因爲你的問題是完全不可讀的。 – soupault
如果他們正確回答您的問題,請不要忘記接受答案,它可以讓人們知道這個問題已經解決。 – Lhooq