我正在尝试创建一个具有多个类型参数的类型。我知道如何用一个参数创建一个类型:
type 'a foo = 'a * int
但我需要有两个参数,以便我可以参数化'int'部分。我怎么能这样做?
答案 0 :(得分:8)
这样做的方法是:
type ('a, 'b) foo = 'a * 'b
类型参数不是curry,因此您需要以元组形式提供它们作为单个参数。一个很好的例子是Hashtbl模块:
type ('a, 'b) t
类型'a'的哈希表类型 输入'b。
答案 1 :(得分:2)
# type ('a, 'b) couple = 'a * 'b ;;
例如......