[commit: base] master: Remove datatype contexts from base (8073392)
Ian Lynagh
igloo at earth.li
Wed May 25 02:19:43 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/base
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/8073392a94dc5ab198e4758d6738a0c7f5ed68cf
>---------------------------------------------------------------
commit 8073392a94dc5ab198e4758d6738a0c7f5ed68cf
Author: Ian Lynagh <igloo at earth.li>
Date: Tue May 24 23:26:00 2011 +0100
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 at .
-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
More information about the Cvs-libraries
mailing list