since Pattern Guards appear to be popular with the committee,
I suggest to revisit the decision to drop guards from lambdas:
(a) http://www.cse.unsw.edu.au/~dons/haskell-1990-2000/msg00353.html
(b) http://www.cse.unsw.edu.au/~dons/haskell-1990-2000/msg00382.html
1. I disagree that this was a simplification of Haskell
the language became smaller (fewer valid programs), but
that reduction in size was bought by breaking a symmetry
(pattern matches are the same whereever they are used)
and adding a restriction (no guards for patterns in lambdas),
so the smaller language is actually more complicated.
2. adding guards to lambdas can only cause more program
runs to fail (no chance of handling pattern-match/guard
failure and fall through), so it is kind of understandable
that this feature was considered dubious. however,
- adding a guard there is comparable to adding an
assertion, a feature often considered valuable
- with pattern guards, the guard is no longer restricted
to filtering, and that added functionality is not
currently accessible for lambda patterns
suggestion: undo removal of guards from lambdas, especially
(but not only) if pattern guards make it into the language.
claus
ps. are there any notes regarding the discussion and
stylistic grounds mentioned in (a)?
_______________________________________________
Haskell-prime mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-prime