OCaml函数类型签名常常包含很多箭头符号(->),这会让人难以理解函数的输入和输出。举个例子:
val map : ('a -> 'b) -> 'a list -> 'b list
这里的箭头符号表示函数的输入和输出。在map函数中,它接受两个参数,一个是函数,一个是列表。箭头左侧的部分是函数的参数类型,右侧的是函数的返回类型。下面是一个解释:
因此,我们可以理解这个map函数是一个将一个函数应用到一个列表并返回结果的函数。
如果您还不确定如何阅读OCaml函数类型签名,可以查看OCaml官方文档中的类型推导部分 https://ocaml.org/learn/tutorials/types.html。