在 OCaml 中,有没有办法自己引用 cons 运算符?
例如,我可以将(+)
and( * )
用作int -> int -> int
函数,但不能(::)
用作'a -> 'a list -> 'a list
函数,如下例所示:
# (+) 3 5;;
- : int = 8
# ( * ) 4 6;;
- : int = 24
# (::) 1 [2;3;4];;
Error: Syntax error: operator expected.
有没有办法产生像(::)
with 以外的结果fun x y -> x::y
?有谁知道为什么(::)
没有在 OCaml 中实现?