G'day all.

Quoting [EMAIL PROTECTED]:

I have heard that a few times, not recently. This is really interesting,
WHAT do you actually miss?

Off the top of my head, from H1.4, I miss:

    - MonadZero (a lot)
    - Some of the monad/functor-overloaded functions (quite a bit)
    - Record punning (slightly)

For me, from the ancient times, what I
regret, but just a tiny bit, is
that (:) is not an operator as any other, but a "syntactic construct".

I agree with that in principle; it's unfortunate that lists are
"built in" as much as they are.  But I can't say I really miss this.

Also, monadic comprehensions, which disappeared in order to remove too
much of ambiguity...

Five years ago, I would have agreed.  I'm over that now, and do-notation
is more useful.

Anything else worth mentioning? What *negative* has
been suppressed?

I mentioned the un-generalising of "map" above.  That probably needs some
justification.  I think that the best evidence of why this was a mistake
is the fact that many modules implement a namespace-overloaded "map". Data.Map.map springs to mind, but there are others.

People want to write "map" instead of "fmap".  We could have come up
with an alternative name for the list-version of "map" and not showed
"map" to newbies.

(Having said that, some of the un-overloading was good.  I'm happy,
for example, to reserve "concat" for lists and use "join" for monads.)

Cheers,
Andrew Bromage
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to