首先,以下签名是否存在(我个人认为它可能有错误),如果确实如此,你能给我一个匹配代码的例子:
val f : 'a -> ('a -> 'a) -> 'b -> ('a -> ('a -> 'a) -> 'b) -> bool = <fun>
答案 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 *)
我不记得之前我曾见过这个签名,所以我不知道它背后隐藏着哪个功能。