On 20 Aug 1999, Will Partain wrote:
> The great thing about "the modules problem" is that nearly
> anyone can contribute -- you don't have to know the innards
> of any Haskell implementation in order to be useful.
Right now, there is, in fact not a lot of installed base of Haskell code.
Accumulated libraries can make the installed base much larger but will
hold the language back. To me at least, it is unclear how stable Haskell
is as a language. The state of the art is still moving pretty quickly.
Haskell98 already seems very obsolete (except, perhaps for teaching).
Given the Swierstra post earlier this weeek, generic programming,
dependent types, and perhaps arrows seem like sufficiently near term
opportunities for generalizing and simplifying the language that they make
me question the value of any time invested in building libraries.
* The arrows paper explicitly suggested that they provide a superior library
interface standard to monads and therefore a better interface to external
libaries
(the back and forth on haskell-shell is a good example of work
that would be made obsolete with some arrows standard)
* Generic programming systems mean that large classes of funtionality
that people build into libraries for specific types will move into
generic libraries (X? & Erik Meijer proposed replacing the
existing Prelude with a much shorter and more general categorical
prelude so even the Prelude isn't immune here)
* Partial Evaluation means that large classes of optimizations for
run-time performance get handled by the compiler and, if
I understand it correctly, solves the monomorphism restriction
problem.
* Dependent types may force some libraries to be more explicit about types,
but also allow more interesting forms of dynamic linking which can
be really useful in writing distributed internet applications
(typed interpreters mean, I think, mobile code and Haskell
downloadable applets?)
I don't really know how close therse are to being done but if they
live up to 1/10 of what they promise in the papers, they make
for a much more powerful and interesting programming language.
I concur with the prior poster who said that what would help a lot would
be some consistent place to get a good sense of the current status of
various language, library, and implementation issues. Perhaps all of
these language features are really just blue-sky and Haskell98 is here to
stay.
-Alex-
___________________________________________________________________
S. Alexander Jacobson Shop.Com
1-212-697-0184 voice The Easiest Way To Shop