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