我试图找出的f x y = 3 + y/x
点游离形式在Haskell。我认为这将是f = (3.0+) . flip (/)
,但得到的答复是f2 = curry $ (3.0+) . (uncurry $ flip (/))
,这是一样的f1 = curry ((3.0+) . (uncurry (flip (/))))
,例如我得到的答案,但在开始之前翻转和咖喱之前,uncurry。˚FX Y = 3 + Y/X在点游离形式
我看到的版本是如何工作的,但我不知道为什么需要咖喱和uncurry功能,为什么我的版本也不行?该类型的(3.0+)
是a -> a
,我认为,如果你喂通过函数组合的结果形式flip (/)
该功能的工作,但(3.0+) . flip (/) 2 10
导致错误(为什么?),并不会产生8.是不是多余的uncurry和然后再次咖喱?
HTTPS ://hackage.haskell.org/package/pointfree – Hapal