"Lambda Dance", Haskell polemic, etc. on O'Reilly site
Julian Seward (Intl Vendor)
v-julsew@microsoft.com
Mon, 2 Apr 2001 06:57:21 -0700
S. Alexander Jacobsen wrote:
| Although I think Haskell is a beautiful language, Jelovic is right on
his
| core points, Haskell implementations don't meet the needs of=20
| the working programmer.
[...]
I also largely agree with Jelovic, and I take what he says as
constructive criticism.
One observation at least as regards Perl and Python is that=20
Haskell has a very much more academically-intense heritage,
whereas Perl and (guessing here) Python were motivated more=20
by end-user need. GHC and Hugs suffer from tensions between=20
being research vehicles and being practical implementations=20
suitable for end-users. I'd guess that Perl and Python don't=20
suffer from such tensions, so their implementors can concentrate=20
more directly on providing excellent implementations suitable=20
for widespread use.
I say nothing about Ruby because I know nothing about it.
A second observation is that Perl and Python are both single
-implementation languages, which makes it easier to have a=20
coherent set of libraries. Haskell, by contrast, isn't
-- there are at least 4 available implementations (hbc, hugs,
nhc, ghc). The core language (Haskell98) is supported by all
of these, but there isn't a coherent story on the libraries.
We are working on that. This plurality of implementations has
worked well for the diverse research interests centered around
Haskell. I think there is now a growing feeling that we need
to standardise the libraries more and put more emphasis on=20
end-user issues -- the kind of things Jelovic mentions --
if Haskell is to have a long-term future.
Here at GHC HQ we are trying hard to make GHC into a suitable
vehicle for widespread use. The upcoming GHC version 5 should
go some way to addressing issues of installability, library
coverage and speed of compilation.
As Simon Marlow pointed out, if you feel motivated to help us
work on the libraries, that would be excellent.
I think it's worth clarifying a couple of potential misunderstandings
with the original posting:
-- The current version of Hugs is called hugs98 not because
the implementation was last revised in 1998 but because it
implements the language as standardised in 1998. Hugs is
actively maintained.
-- Hugs is not the only Haskell implementation. Ours, GHC,=20
strives hard to provide a coherent, complete set of libraries
in the standard distribution. NHC is also moving in that
direction. We are not yet there, but are, at least, proceeding.
J