Ground Up

Simon Peyton-Jones simonpj@microsoft.com
Fri, 1 Mar 2002 00:47:34 -0800


| Further, Haskell, though _very_ nice, is probably not "the
| best choice" for a "pragmatic programming". It is too alive.=20
| Different compilers are not 100% compatible each to other,=20
| and even different versions of the same compilers may be=20
| incompatible. You should be ready either to stick yourself=20
| and your co-wokers to a certain version of the compiler or to=20
| spend some significal time to keep you programs working with=20
| any compiler.

It's true that GHC and Hugs and nhc don't accept exactly the=20
same language but

a) Haskell 98 is a very stable language that all three accept,=20
and are committed to continuing to do so.

b) If you stick to one compiler of the three, you can be pretty
sure that programs that used to work will continue to work.
(GHC, for example, always has a "stable branch", currently
5.02.2, that we maintain in parallel with introducing new features
and bugs into the head.  Bleeding-edge folk can and do=20
compile the head from source, but you don't have to do that!)

It's true that we occasionally make incompatible changes, but
not often.

| Maybe you will find that it's better to use Ocaml or
| Scheme. Thay have own neats, and seem to be more stable.

c) I have a very high opinion of Caml and Scheme, and their
impls, but I think you are being a bit unfair on Haskell here.
Caml has only one impl, and Scheme has many=20
incompatible variants (eg PLT Scheme), so in practice you
have to stick to one impl unless you use a the R3RS subset. =20
I don't think any of them are more stable than any particular=20
one of the Haskell impls.

Simon