我的理解是:
(==) :: Eq a => a -> a -> Bool
应用的一个例子可以是(==) 2 2,其结果为True。
还有:
uncurry (==) :: Eq b => (b, b) -> Bool.
应用的一个例子可以是 uncurry (==) (2, 2),结果为 True。
但我不明白并想象一个例子:
curry (==) :: (Eq a, Eq b) => a -> b -> (a, b) -> Bool
有什么帮助吗?
谢谢,
塞巴斯蒂安
最佳答案
==
可以用在元组上,即可以写成 (a1, b1) == (a2, b2)
。
在这种情况下,==
的类型专用于 (Eq a, Eq b) => (a, b) -> (a,b) -> Bool
.
如果您现在将 curry
应用于该类型,您将得到 (Eq a, Eq b) => a -> b -> (a, b) -> Bool
.
关于haskell - curry (==) 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23208887/