[Haskell-cafe] On the verge of ... giving up!
ajb at spamcop.net
ajb at spamcop.net
Sun Oct 14 21:49:28 EDT 2007
G'day all.
Quoting jerzy.karczmarczuk at info.unicaen.fr:
> 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
More information about the Haskell-Cafe
mailing list