我試圖找出的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