[Haskell-cafe] Re: ANNOUNCE: Utrecht Haskell Compiler (UHC) -- first release

Jon Fairbairn jon.fairbairn at cl.cam.ac.uk
Wed Apr 22 05:07:46 EDT 2009

Miguel Mitrofanov <miguelimo38 at yandex.ru> writes:

> Well, the problem is that every implementor does choose a
> subset of standart to implement.

That's what I'm complaining about.

> It's much worse in JavaScript - essential features working
> differently in Internet Explorer, Firefox, Opera, and
> Safari, and sometimes they even differ between versions; Web
> programmers still manage.

Strange example to choose. Have you any idea how much time
is wasted because of the implementation differences in

> (n+k)-patterns are nothing compared to that.

Since there is no need for /any/ differences in the
implemented part of H98, we can, if we choose, have /the/
language where all this crap about "I'd better not use this
part of the standard because the MuckWorx compiler doesn't
implement it" doesn't apply.

This thread is really depressing (this is about the rest of
the thread, not your post Miguel). We're rehearsing the
arguments about n+k patterns that were gone through by the
first Haskell committee and then rehashed by the H98 folks,
when that's completely irrelevant -- n+k patterns are in
H98, so implementors should implement them. It's arrogant
and disrespectful on the part of the implementors to say
that they know better than the committee what features
should be part of the language.

I'm reminded of decades ago when people talked about
implementing "extended subsets" of this or that language.
Perl is an extended subset of Haskell...

Concerning the suggestion that I should implement them,
given that I'm against n+k patterns, I hardly think the
effort should fall on me -- I'm not in the business of
implementing Haskell at all at the moment. Or maybe I should
be more pro-active. Here, using my favoured paradigm of
"Advanced Reactive Software Engineering" (a successor to
extreme programming and the like) is my Haskell 98 compiler
(currently only implements a subset):

module Main where
main = error ("You have used an unimplemented feature of Haskell 98.\n\
              \Please submit a test case and patch to correct the deficiency\n")

Jón Fairbairn                                 Jon.Fairbairn at cl.cam.ac.uk
http://www.chaos.org.uk/~jf/Stuff-I-dont-want.html  (updated 2009-01-31)

More information about the Haskell-Cafe mailing list