3 ms·
> A list is not a monad Huh? List is very much a monad.
by tome 9y ago
> A list is not a monad
Huh? List is very much a monad.
- runeks 9y agoYou're completely right. I had no idea. But I can't make sense of the definition of >>= for the list in Haskell, which is: xs >>= f = [y | x <- xs, y <- f x] It seems to imply that I get a list in return when I do xs >>= f, but I need to do the following in order for it to work: [1,2,3] >>= return . (+1)
- tome 9y agoPerhaps this might help (or perhaps not!) > [1,-2,3] >>= (\x -> replicate (abs x) x) [1,-2,-2,3,3,3]
- crimsonalucard 9y agoYou're probably use to Monads that wrap a single object, like the maybe monad. Monads can wrap multiple objects or anything. This is the case for a list.