F#允许对签名进行".NET“和"OCaml”格式化。当您养成使用一种样式的习惯,然后发现无法正确格式化所需的签名时,这可能会令人困惑。考虑下面的代码,它需要一个灵活的类型作为foo的函数输入的输出: (fun () -> Vector.ofSeq (barn))
let foobar n = Arra
在print_int中有一系列的函数,比如print_endline和Printf。我不能做这样的事print n;; (* And I haven't to change `print` in case type of `n` changed *)
这是多态打印相反,我们有由程序员显式定义的类C类型。所以我认为OCaml在编译过程中丢失了类型信息,并且在运行时没有这些信息,对吗?这也是我们需要mli文件的原因吗?