嗨,这是我第一次发布堆栈溢出,我遇到了一个问题,而试图在OCaml中构建一个类型OCaml中的递归类型?
我试图构造一个类型树,有节点/叶/ etc。这是我迄今为止所拥有的。
type ('a, 'b) tree = Empty | Leaf of 'b | Node of ('a * tree) | ....
我的节点应该是一个包含它的名称和另一个树作为元组的类型。但是当我试图编译它时,它说树需要两个参数。所以我尝试过:
type ('a, 'b) tree = Empty | Leaf of 'b | Node of ('a * tree ('a*'b))
我仍然收到错误。任何你注意到我做错了?谢谢!
原来我的语法错了。它实际上应该是 节点('a *('a,'b)树) – Brian
没错。虽然接受gasche的答案会很礼貌,因为它确实回答了你的问题。我想知道你是否确定你想要叶子和内部节点的不同类型? –