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

_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to