From 8073392a94dc5ab198e4758d6738a0c7f5ed68cf Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Tue, 24 May 2011 23:26:00 +0100 Subject: [PATCH] Remove datatype contexts from base The Haskell' committee decided to remove datatype contexts from the language: http://www.haskell.org/pipermail/haskell-prime/2011-January/003335.html --- Control/Arrow.hs | 2 +- Data/Complex.hs | 2 +- GHC/Arr.lhs | 14 +++++++------- GHC/Real.lhs | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Control/Arrow.hs b/Control/Arrow.hs index 0d983ab..20e3677 100644 --- a/Control/Arrow.hs +++ b/Control/Arrow.hs @@ -249,7 +249,7 @@ instance Monad m => ArrowApply (Kleisli m) where -- | The 'ArrowApply' class is equivalent to 'Monad': any monad gives rise -- to a 'Kleisli' arrow, and any instance of 'ArrowApply' defines a monad. -newtype ArrowApply a => ArrowMonad a b = ArrowMonad (a () b) +newtype ArrowMonad a b = ArrowMonad (a () b) instance ArrowApply a => Monad (ArrowMonad a) where return x = ArrowMonad (arr (\_ -> x)) diff --git a/Data/Complex.hs b/Data/Complex.hs index 9ea8a41..3692501 100644 --- a/Data/Complex.hs +++ b/Data/Complex.hs @@ -67,7 +67,7 @@ infix 6 :+ -- For a complex number @z@, @'abs' z@ is a number with the magnitude of @z@, -- but oriented in the positive real direction, whereas @'signum' z@ -- has the phase of @z@, but unit magnitude. -data (RealFloat a) => Complex a +data Complex a = !a :+ !a -- ^ forms a complex number from its real and imaginary -- rectangular components. # if __GLASGOW_HASKELL__ diff --git a/GHC/Arr.lhs b/GHC/Arr.lhs index fd858b1..ade0b98 100644 --- a/GHC/Arr.lhs +++ b/GHC/Arr.lhs @@ -355,13 +355,13 @@ type IPr = (Int, Int) -- | The type of immutable non-strict (boxed) arrays -- with indices in @i@ and elements in @e@. -data Ix i => Array i e - = Array !i -- the lower bound, l - !i -- the upper bound, u - !Int -- a cache of (rangeSize (l,u)) - -- used to make sure an index is - -- really in range - (Array# e) -- The actual elements +data Array i e + = Array !i -- the lower bound, l + !i -- the upper bound, u + !Int -- a cache of (rangeSize (l,u)) + -- used to make sure an index is + -- really in range + (Array# e) -- The actual elements -- | Mutable, boxed, non-strict arrays in the 'ST' monad. The type -- arguments are as follows: diff --git a/GHC/Real.lhs b/GHC/Real.lhs index 17d0452..0115409 100644 --- a/GHC/Real.lhs +++ b/GHC/Real.lhs @@ -43,7 +43,7 @@ default () -- Double isn't available yet, \begin{code} -- | Rational numbers, with numerator and denominator of some 'Integral' type. -data (Integral a) => Ratio a = !a :% !a deriving (Eq) +data Ratio a = !a :% !a deriving (Eq) -- | Arbitrary-precision rational numbers, represented as a ratio of -- two 'Integer' values. A rational number may be constructed using -- 1.7.10.4