我正在使用Ocaml的内置Map库来解决一个问题集,但我在访问地图本身的数据类型时遇到了问题。这应该是字典的第三个实现(前两个是列表和不平衡的二进制搜索树),我必须实现的函数器的一部分是"type dict",它是实际字典的数据类型。对于列表,键入dict was (D.key * D.value) list;对于树,键入dict was | Branch((D
众所周知,OCaml拒绝定义像type t = t -> int这样的纯递归类型,Rosetta Code中的Y组合子示例也不起作用。然而,最近我发现像type t = A of (t -> int)这样的递归类型定义的小调整工作得很好。下面的代码是一些概念验证工作,用来检查哪个工作得好。(* OCaml version 4.08.0 *)
# typ