[Haskell-cafe] >>= definition for list monad in ghc
Michael Vanier
mvanier42 at gmail.com
Mon May 16 11:07:15 CEST 2011
Usually in monad tutorials, the >>= operator for the list monad is
defined as:
m >>= k = concat (map k m) -- or concatMap k m
but in the GHC sources it's defined as:
m >>= k = foldr ((++) . k) [] m
As far as I can tell, this definition is equivalent to the previous one (correct me if I'm wrong), so I was wondering why this definition was chosen instead of the other one. Does anybody know?
Thanks in advance,
Mike
More information about the Haskell-Cafe
mailing list