Repository : ssh://darcs.haskell.org//srv/darcs/packages/base On branch : ghc-generics
http://hackage.haskell.org/trac/ghc/changeset/eb87007595377966ab5544f6e204e58a49deb3a9 >--------------------------------------------------------------- commit eb87007595377966ab5544f6e204e58a49deb3a9 Author: Jose Pedro Magalhaes <[email protected]> Date: Fri Apr 29 08:46:08 2011 +0200 Add instances for basic types of the new generic deriving mechanism. >--------------------------------------------------------------- GHC/Int.hs | 28 +++++++++++++++++++++++++++- 1 files changed, 27 insertions(+), 1 deletions(-) diff --git a/GHC/Int.hs b/GHC/Int.hs index 05d10c5..bafa7f0 100644 --- a/GHC/Int.hs +++ b/GHC/Int.hs @@ -1,4 +1,5 @@ -{-# LANGUAGE CPP, NoImplicitPrelude, BangPatterns, MagicHash #-} +{-# LANGUAGE CPP, NoImplicitPrelude, BangPatterns, MagicHash, + StandaloneDeriving #-} {-# OPTIONS_HADDOCK hide #-} ----------------------------------------------------------------------------- -- | @@ -41,6 +42,8 @@ import GHC.Err import GHC.Word hiding (uncheckedShiftL64#, uncheckedShiftRL64#) import GHC.Show import GHC.Float () -- for RealFrac methods +-- For defining instances for the new generic deriving mechanism +import GHC.Generics (Arity(..), Associativity(..), Fixity(..)) ------------------------------------------------------------------------ -- type Int8 @@ -907,3 +910,26 @@ instance Ix Int64 where range (m,n) = [m..n] unsafeIndex (m,_) i = fromIntegral i - fromIntegral m inRange (m,n) i = m <= i && i <= n + +------------------------------------------------------------------------ +-- Generic deriving +------------------------------------------------------------------------ + +-- We need instances for some basic datatypes, but some of those use Int, +-- so we have to put the instances here + +deriving instance Eq Arity +deriving instance Eq Associativity +deriving instance Eq Fixity + +deriving instance Ord Arity +deriving instance Ord Associativity +deriving instance Ord Fixity + +deriving instance Read Arity +deriving instance Read Associativity +deriving instance Read Fixity + +deriving instance Show Arity +deriving instance Show Associativity +deriving instance Show Fixity _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
