I can see the arguments for the pattern guard extension and the syntax
seem reasonable.  

I also agree with Chris on the shortcomings of if-then-else.  (I have
disliked it in any language where I've seen it, and it "feels"
un-Haskell-like to me.)  On the other hand, the suggested

  case
    | ... -> ... 

syntax seems confusing (overloads `case') and redundant (we don't need
a SML-like `|', we have layout rules).  Although its origin is the
case expression, the special syntax is a witness to the fact that it
is different.  Something like

  cond
    x == y -> same x
    x == y*2 -> haly x
    .....
    otherwise -> default x

would be much easier on my stomach.

My only worry is that Haskell (if not already) is turning into the C++
of functional languages, ie. feature upon feature.  Haskell is already
quite a mouthfull to learn.

/Tommy



Reply via email to