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

时间:2013-11-13 09:04:40

标签: functional-programming ocaml

OCaml声明的实际含义是什么?

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

#rest of the function
  1. 是否意味着它需要类型为A.a且返回单位
  2. 的v
  3. 或者它需要两个参数,v和A.a并返回一个单位?
  4. 或者它带有带参数A.a的函数v并返回一个单位?
  5. 或其他什么?

3 个答案:

答案 0 :(得分:5)

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 :(得分:2)

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

答案 2 :(得分:2)

这意味着1。

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