OCaml签名的未知函数

时间:2014-02-10 09:47:52

标签: ocaml

首先,以下签名是否存在(我个人认为它可能有错误),如果确实如此,你能给我一个匹配代码的例子:

val f : 'a -> ('a -> 'a) -> 'b -> ('a -> ('a -> 'a) -> 'b) -> bool = <fun>

1 个答案:

答案 0 :(得分:2)

以下是这两个例子:

let f a aa b a_aa_b = (aa a, a_aa_b a aa) = (a,b) (* forced by type inference *)
let f (a:'a) (aa: 'a -> 'a) (b: 'b) (c: 'a -> ('a -> 'a) -> 'b) = true (* explicitly stated *)

我不记得之前我曾见过这个签名,所以我不知道它背后隐藏着哪个功能。