Proposal: remove datatype contexts from base

Simon Peyton-Jones simonpj at
Wed May 25 09:30:58 CEST 2011

I'd love to do this, but it'd mean that GHC wouldn't conform to Haskell 98 unless we shipped two versions of the libraries, which seems overkill.  

Do you think that's acceptable? I think it probably is.  We can just record it as a shortcoming of GHC, but it's one that no one will care about.


| -----Original Message-----
| From: libraries-bounces at [mailto:libraries-bounces at] On Behalf
| Of Ross Paterson
| Sent: 24 May 2011 15:08
| To: libraries at
| Subject: Proposal: remove datatype contexts from base
| The Haskell' committee decided to remove datatype contexts from the language:
| (though this doesn't seem to be in the Report yet.)
| In the base package there are 4 of these:
|   Data/Complex.hs:data (RealFloat a) => Complex a
|   GHC/Arr.lhs:data Ix i => Array i e
|   GHC/Real.lhs:data  (Integral a)      => Ratio a = !a :% !a  deriving (Eq)
|   Control/Arrow.hs:newtype ArrowApply a => ArrowMonad a b = ArrowMonad (a () b)
| As far as I know, removing them won't break any code that compiles now,
| so let's do it.
| _______________________________________________
| Libraries mailing list
| Libraries at

More information about the Libraries mailing list