((.)$(.))
它的类型签名是
(a -> b -> c) -> a -> (a1 -> b) -> a1 -> c
。
它等价于
f a b c d = a b (c d)
而且,
((.)$(.)) (==) 1 (1+) 0
返回True
。
所以我的问题是:
- 类型签名中的
a1
是什么意思?它和a
有关吗? (==)
是某种函数相等运算符吗?因为在GHCi中执行0 (==) 0
会抛出错误。- 在这个上下文中,
1 (1+) 0
是什么意思?我不明白这甚至是一个有效的表达式。 - 为什么这个表达式返回
True
?
((.)$(.))
中的$
是不必要的;表达式((.)(.))
完全等效。 - Chris Taylor