[Haskell-cafe] Re: Comments from OCaml Hacker Brian Hurt

Ertugrul Soeylemez es at ertes.de
Sun Jan 18 11:20:49 EST 2009

Andrew Coppin <andrewcoppin at btinternet.com> wrote:

> Ertugrul Soeylemez wrote:
> > Andrew Coppin <andrewcoppin at btinternet.com> wrote:
> >
> >> I would suggest that ExistentiallyQuantifiedTypeVariables would be
> >> an improvement [...]
> >
> > That must be a joke.  Typing the long extension names in LANGUAGE
> > pragmas over and over again is tiring and annoying enough already.
> > We really don't need even longer names, and your "improvement" fills
> > up almost half of the width of an 80 characters terminal.
> Which is why I personally prefer HiddenTypeVariables. (This has the
> advantage of using only pronouncible English words, which means you
> can use it when speaking out loud.)
> But, as I say, nobody is going to rename anything, so it's moot.

Well, yes, unfortunately, unless someone proposes extension renamings
together with a long paper about the psychological implications and
advantages of using shorter names.

> > I can't await the next Haskell standard, where at last all those
> > extensions are builtin.
> This frightens me.
> At the moment, I understand how Haskell 98 works. There are lots of
> extensions out there, but I don't have to care about that because I
> don't use them. If I read somebody else's code and it contains a
> LANGUAGE pragma, I can immediately tell that the code won't be
> comprehendable, so I don't need to waste time trying to read it. But
> once Haskell' becomes standard, none of this holds any more. Haskell'
> code will use obscure lanuage features without warning, and unless I
> somehow learn every extension in the set, I'll never be able to read
> Haskell again! (One presumes that they won't add any extensions which
> actually *break* backwards compatibility, so hopefully I can still
> pretend these troublesome extensions don't exist when writing my own
> code...)

I think, the list of accepted extensions is well chosen.  And don't
worry, the extensions I'm talking about mainly, are easy to comprehend
and very useful, for example multi-parameter type classes and rank-n


nightmare = unsafePerformIO (getWrongWife >>= sex)

More information about the Haskell-Cafe mailing list