我正在浏览ocaml的标准库,并在map.ml文件中遇到了这段代码.
module type S =
sig
type key
type +'a t
val empty: 'a t'
Run Code Online (Sandbox Code Playgroud)
我想知道为什么会这样type +'a t,为什么作者使用它而不是简单'a t.
它的行为很奇怪,我无法推断出它的用法.
# type +'a t = 'a list;;
type 'a t = 'a list
# type +'a t = +'a list;;
Characters 13-14:
type +'a t = +'a list;;
^
Error: Syntax error
Run Code Online (Sandbox Code Playgroud)
谢谢