Proposal: remove datatype contexts from base

Ross Paterson ross at
Tue May 24 16:08:14 CEST 2011

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.

More information about the Libraries mailing list