6 lines
175 B
Haskell
6 lines
175 B
Haskell
hsequence :: Monad m => [[x] -> m x] -> m [x]
|
|
hsequence [] = pure []
|
|
hsequence (r:rs) = do
|
|
x <- r []
|
|
xs <- hsequence [ \ys -> g (x:ys) | g <- rs ]
|
|
pure (x:xs)
|