
On Wed, 27 Sep 2006, Ch. A. Herrmann wrote:
Concerning the point someone made about the features of Haskell: * pattern matching: just case distinction * list comprehensions: syntactic sugar These are indeed local syntactic issues but the amount of such small things is essential to make things easy, in addition to semantic issues like laziness.
According to http://haskell.org/haskellwiki/History_of_Haskell two main styles of functional programming have established: "Declaration style" and "Expression style". The features you emphasize support to the declaration style. I prefer mostly the expression style and I don't feel I'm missing something important.
Assume that you do not have them: then your programs would look as verbose as Java or LISP programs.
The notation [f x | x <- xs] describes operations on list elements, and looks like the imperative "forall x in xs do f x", whereas map f xs is a list transformation. The second one is more abstract, isn't it?