相关疑难解决方法(0)

“a.”和“type a.”有什么区别以及何时使用它们?

OCaml 对于多态类型注释有几种不同的语法:

\n
let f :         \'a -> \'a = \xe2\x80\xa6 (* Isn\xe2\x80\x99t this one already polymorphic? (answer: NO) *)\nlet f : \'a.     \'a -> \'a = \xe2\x80\xa6\nlet f : type a.  a ->  a = \xe2\x80\xa6\n
Run Code Online (Sandbox Code Playgroud)\n

当使用奇特的代数数据类型(通常是 GADT)时,我们经常会看到它们,它们似乎是必要的。

\n

这些语法有什么区别?何时以及为何必须使用每一项?

\n

polymorphism ocaml type-inference algebraic-data-types

17
推荐指数
3
解决办法
1726
查看次数