[Haskell] Re: Re: RE: Extensible records: Static duck typing

Andrzej Jaworski himself at poczta.nom.pl
Thu Feb 21 19:01:08 EST 2008


Dear Fellows,

It is obvious that Haskell takes its strength from well implemented abstract concepts that made monadic programming natural and
threads cheap. However I believe that some top decisions have been made in the wrong order, which is extremely important now to be
aware of when new feature requests gather speed from the new breed of Haskell users - the real programmers.

Haskell has jumped into untested water of type classes and had to compromise module system, contrary to ocaml where functor was
raised to primary unit of computation. Thus Haskell waved off warranty form mature category theory for the sake of experimenting
with fledging type theory. This encouraged somewhat artistic approach in designing the whole syntax so that orthogonality is hard
to find and as a result choosing a particular programming style is more cumbersome than type annotations.

In my humble opinion the priorities now should be:
- moving secondary features from compiler out to optional libraries
- redesigning type classes so that they could evolve with minimal effect on core design
- revisiting SPJ opinion that functors are an (unpractical and expensive) Ferrari. I would rather paraphrase Henri Ford's "every
color for a car is good as long as it is black"  and say that every functional language is good as long as it has ML-style module
system.

I expressed this opinion here a year ago but as a mere mathematician haven't felt moral right to expect much attention. Recently
however may opinion gained a surprising backup form guru Okasaki
http://okasaki.blogspot.com/2008/02/ten-years-of-purely-functional-data.html

Regards,
-Andrzej Jaworski



More information about the Haskell mailing list