Major type-class overhaul

Simon Peyton-Jones simonpj at
Mon Nov 20 03:38:58 EST 2006

| > NOTE: the Haskell 98 syntax for data type declarations
| >         data Num a => T a = T1 a
| > behaves exactly as specified in H98, and *not* in the new way.
| > The Num dictionary is
| >         *required* when constructing, and
| >         *required* when matching
| > I think this is stupid, but it's what H98 says.  To get the new
| > behaviour, use GADT-style syntax, even though the data type being
| > defined is does not use the GADT-ness.
| We may want to propose to change that for Haskell'.  What do you think?

Oh yes ... it's a H98 mis-feature in my view.


More information about the Glasgow-haskell-users mailing list