[Haskell-cafe] Shrinking the Prelude: The "categorical" approach

J. Garrett Morris trevion at gmail.com
Wed Dec 20 19:56:26 EST 2006


On 12/20/06, Diego Navarro <dnavarro at gmail.com> wrote:
> > 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.


More information about the Haskell-Cafe mailing list