From: Jose Pedro Magalhaes Date: Fri, 29 Apr 2011 06:46:08 +0000 (+0200) Subject: Add instances for basic types of the new generic deriving mechanism. X-Git-Url: http://git.megacz.com/?p=ghc-base.git;a=commitdiff_plain;h=eb87007595377966ab5544f6e204e58a49deb3a9 Add instances for basic types of the new generic deriving mechanism. --- 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