
ross@soi.city.ac.uk wrote:
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.
In the HList paper we show that any overlapping instance can be eliminated with the use of a single constraint (that would have to be provided by the compiler: TypeEq). Further I think functional dependancies (without overlapping instances), and undecidable instances are perfectly well understood. (incoherent instances would join overlapping instances and not be included). So I would add: - Multi-parameter type classes with functional dependancies (with no overlapping instances allowed) Keean.