Change some imports and derive Show (Either a b)
authorIan Lynagh <igloo@earth.li>
Mon, 4 Aug 2008 00:41:47 +0000 (00:41 +0000)
committerIan Lynagh <igloo@earth.li>
Mon, 4 Aug 2008 00:41:47 +0000 (00:41 +0000)
rather than writing it by hand in GHC.Show

Data/Either.hs
GHC/Show.lhs

index 0bed290..dbed24b 100644 (file)
@@ -25,6 +25,7 @@ import Data.Tuple ()
 
 #ifdef __GLASGOW_HASKELL__
 import GHC.Base
+import GHC.Show
 
 {-
 -- just for testing
@@ -41,7 +42,7 @@ either correct or an error; by convention, the 'Left' constructor is
 used to hold an error value and the 'Right' constructor is used to
 hold a correct value (mnemonic: \"right\" also means \"correct\").
 -}
-data  Either a b  =  Left a | Right b   deriving (Eq, Ord )
+data  Either a b  =  Left a | Right b   deriving (Eq, Ord, Show)
 
 -- | Case analysis for the 'Either' type.
 -- If the value is @'Left' a@, apply the first function to @a@;
index 3eaf04b..a00ff48 100644 (file)
@@ -35,7 +35,6 @@ module GHC.Show
 
 import GHC.Base
 import Data.Maybe
-import Data.Either
 import GHC.List ( (!!), foldr1
 #ifdef USE_REPORT_PRELUDE
                 , concatMap
@@ -203,14 +202,6 @@ instance Show a => Show (Maybe a) where
                           = (showParen (p > appPrec) $ 
                              showString "Just " . 
                              showsPrec appPrec1 x) s
-
-instance (Show a, Show b) => Show (Either a b) where
-    showsPrec p e s =
-       (showParen (p > appPrec) $
-        case e of
-         Left  a -> showString "Left "  . showsPrec appPrec1 a
-         Right b -> showString "Right " . showsPrec appPrec1 b)
-       s
 \end{code}