Types OCaml函数类型(基本)

Types OCaml函数类型(基本),types,ocaml,Types,Ocaml,我编写了一个简单的OCaml代码 let sum a b : int -> int -> int = a + b 我听说因为curry,这个函数的类型应该是int->int->int,但是我得到了一个编译错误。冒号后面是函数的返回类型。因此,这将起作用: # let sum a b : int = a + b;; val sum : int -> int -> int = <fun> 您可以给出每个参数的类型和结果类型: # let sum (a: int

我编写了一个简单的OCaml代码

let sum a b : int -> int -> int = a + b
我听说因为curry,这个函数的类型应该是int->int->int,但是我得到了一个编译错误。

冒号后面是函数的返回类型。因此,这将起作用:

# let sum a b : int = a + b;;
val sum : int -> int -> int = <fun>
您可以给出每个参数的类型和结果类型:

# let sum (a: int) (b: int) : int = a + b;;
val sum : int -> int -> int = <fun>
您也可以将函数定义为
+
的同义词:

# let sum : int -> int -> int = (+);;
val sum : int -> int -> int = <fun>

# let sum = (+);;
val sum : int -> int -> int = <fun>
#求和:int->int->int=(+);;
val sum:int->int->int=
#设和=(+);;
val sum:int->int->int=
有任何特定的编译错误吗?
# let sum : int -> int -> int = fun a b -> a + b;;
val sum : int -> int -> int = <fun>
# let sum : int -> int -> int = (+);;
val sum : int -> int -> int = <fun>

# let sum = (+);;
val sum : int -> int -> int = <fun>