4
我缺少的是部分應用函數的第二個參數而不是第一個參數的能力。當我想要將函數傳遞給像map這樣的函數時,這是特別有用的,但是不必每次都爲它寫一個lambda表達式。C++的std :: bind2nd是否有內置的Haskell等價物?
我爲此編寫了自己的函數(定義如下,以防萬一確實沒有任何內置函數和其他人都好奇),但我真的很想知道是否已經存在某些東西這個成語的序曲,因爲我喜歡重複使用而不是重新創作。
這裏是我的定義,一個簡單的例子:
bind2nd :: (a -> b -> c) -> b -> a -> c
bind2nd f b = \a -> f a b
foo :: Int -> Bool -> String
foo n b | b = show n
| otherwise = "blabla"
alwaysN :: Int -> String
alwaysN = bind2nd foo True