RosettaCodeData/Task/Fibonacci-sequence/Haskell/fibonacci-sequence-21.hs
2025-02-27 18:35:13 -05:00

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)