在OCaml函数声明中使用":"的目的是什么



OCaml 语句实际上是什么意思?

let func (v: A.a) : unit =    
#rest of the function
  1. 这是否意味着它需要 A 型的 V 和返回单元
  2. 或者它需要两个参数,v 和 A.a 并返回一个单位?
  3. 或者它接受带有参数 A.a 的函数 v 并返回一个单位?
  4. 还是别的什么?

let func (v: A.a) : unit =

第一个:表示v is a parameter and its type is expected to be A.a

第二个:表示func is expected to return a type of unit

1 和 3。在OCaml函数中,函数是值,如果A.a函数类型,则func的第一个参数是函数。

表示 1。

也就是说,如果v具有类型 A.a ,则func v具有类型 unit
或者,等效地,func的类型是 A.a -> unit .

最新更新