On 16 May 2011 19:07, Michael Vanier <[email protected]> wrote: > 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?
My guess is to aid the foldr fusion RULEs... -- Ivan Lazar Miljenovic [email protected] IvanMiljenovic.wordpress.com _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
