OCaml 对于多态类型注释有几种不同的语法:
\nlet 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\nRun Code Online (Sandbox Code Playgroud)\n当使用奇特的代数数据类型(通常是 GADT)时,我们经常会看到它们,它们似乎是必要的。
\n这些语法有什么区别?何时以及为何必须使用每一项?
\n