
On 12/20/06, Diego Navarro
take map for example, and fmap, I don't think they should be named different (fmap is ugly, not suggestive, and conceptually the same). mplus could be renamed (++) (they are conceptually the same
Wouldn't this raise the same problems monad comprehensions raise? Worse yet, beginners can't start off with lists -- and understand error messages -- without knowing about monads first!
I may be in the distinct minority here, but I greatly miss monad comprehensions. Since the objection to monad comprehensions (as well as more general types for (++) etc) seems to be difficulty for beginners, has anyone considered providing either language levels as a command line switch - ala Dr. Scheme - or specifying the meaning of comprehensions et. al. in regard to whatever operations are in scope and then having different versions of the Prelude for educational purpose? (As a side note, when I was first learning Haskell and learned about MonadPlus - with the comment that (++) was the monadic plus operator for lists, I gleefully assumed that (++) :: MonadPlus m => m a -> m a -> m a, and was quite happily surprised that something I'd been using for a while was actually more general than I'd realized. When I found out that it wasn't really, I was quite disappointed.) /g -- It is myself I have never met, whose face is pasted on the underside of my mind.