有没有>>=
对于两个参数的函数?就像是
bind2 :: m a -> m b -> (a -> b -> m c) -> m c
最佳答案
我不知道您可以使用哪些聪明的组合器从标准库中构建它,但冒着说明显而易见的风险,您自己很容易实现:
bind2 :: Monad m => (a -> b -> m c) -> m a -> m b -> m c
bind2 f ma mb = do
a <- ma
b <- mb
f a b
> bind2 (\a b -> [a,b]) [1,2,3] [4,5,6]
[1,4,1,5,1,6,2,4,2,5,2,6,3,4,3,5,3,6]
关于haskell - 多参数一元绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32281762/