[Haskell-cafe] Haskell.org GSoC
Wolfgang Jeltsch
g9ks157k at acme.softbase.org
Tue Feb 17 07:05:54 EST 2009
Am Dienstag, 17. Februar 2009 01:13 schrieb Martijn van Steenbergen:
> Daniel Kraft wrote:
> > Do you think something would be especially nice to have and is currently
> > missing?
>
> Have type class aliases been implemented yet? This proposal (or parts or
> it) seems like a very useful compiler extension to have, and might be an
> interesting GSoC project.
>
> http://repetae.net/recent/out/classalias.html
>
> Kind regards,
>
> Martijn.
It would be great to have something like class aliases implemented.
However, the proposal(s) should be reviewed and discussed before someone
starts implementing them. Once something is implemented, it is difficult to
change it.
It’s similar to libraries. Several libraries were implemented as part of
research and their developers didn’t seem to think very deeply about choosing
identifiers and such things. Later, these libraries were in wider use and
changing the identifiers got problematic. I think of such things like the DPH
identifiers. In my opinion, it’s bad practice to include single letters in
identifiers to denote namespace. Parallel.filter would be much better than
filterP.
That said, I want to reinforce that class aliases are far too long not
implemented. My dream is that we thoroughly improve library interfaces and
class aliases could be important for doing so without breaking compatibility
very much. So we should probably also think about what kinds of library
interface changes would be desirable in order to know what features some
class alias extension should provide. Some things that come to my mind
immediately:
* making Applicative a superclass of Monad
* getting rid of MonadPlus (use (Alternative m, Monad m) instead of
(MonadPlus m) or, with another extension, even something like
(forall a. Monoid (m a), Monad m))
* getting rid of ugly Monoid method names (empty, append, concat or
something totally different instead of mempty, mappend, mconcat)
* redesigning numeric classes
Best wishes,
Wolfgang
More information about the Haskell-Cafe
mailing list