
On Sat, Feb 26, 2005 at 08:00:22PM -0500, ajb@spamcop.net wrote:
Quoting ross@soi.city.ac.uk:
Indeed. Of all the extensions implemented by both GHC and Hugs, the only ones that seem ready are
- rank 2 type signatures, and
- polymorphic components for data constructors (giving them rank 2 types).
Off the top of my head:
- multi-parameter type classes
Reasonable in themselves, but limited in usefulness without some scheme to deal with overlapping instances, which doesn't seem settled at this time.
- pattern guards
GHC only
- scoped type variables
Different treatment in GHC and Hugs. Can you point at a formal calculus corresponding to the version in GHC?
- recursive "do"
The treatment of recursion isn't obviously ideal: conflicts with ordinary do, and the semantics depends on the dependency analysis.
- data declarations with no constructors
Minor, but harmless.
- constraints on typeclass methods
- instances on type synonyms
Yes, these two and the relaxation of polymorphic recursion should have been in H98.