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
它被称为 flip .
flip
例子:
Prelude> flip (-) 2 3 1
为了将来参考,只需搜索即可找到 Hoogle 对于您问题中的类型签名,即 (a -> b -> c) -> b -> a -> c . :-)