[commit: base] ghc-generics: Add Representable0 instances to Either and Maybe. (9d3a29e)
José Pedro Magalhães
jpm at cs.uu.nl
Wed May 4 11:20:44 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/base
On branch : ghc-generics
http://hackage.haskell.org/trac/ghc/changeset/9d3a29e4b8feff1387fc26d3d6431356e1c74d51
>---------------------------------------------------------------
commit 9d3a29e4b8feff1387fc26d3d6431356e1c74d51
Author: Jose Pedro Magalhaes <jpm at cs.uu.nl>
Date: Wed May 4 11:18:46 2011 +0200
Add Representable0 instances to Either and Maybe.
>---------------------------------------------------------------
Data/Either.hs | 6 ++++--
Data/Maybe.hs | 5 +++--
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/Data/Either.hs b/Data/Either.hs
index b45609b..0c72f97 100644
--- a/Data/Either.hs
+++ b/Data/Either.hs
@@ -1,6 +1,6 @@
{-# LANGUAGE CPP, NoImplicitPrelude #-}
#ifdef __GLASGOW_HASKELL__
-{-# LANGUAGE DeriveDataTypeable, StandaloneDeriving #-}
+{-# LANGUAGE DeriveDataTypeable, DeriveRepresentable, StandaloneDeriving #-}
#endif
-----------------------------------------------------------------------------
@@ -34,6 +34,7 @@ import GHC.Read
#endif
import Data.Typeable
+import GHC.Generics (Representable0)
#ifdef __GLASGOW_HASKELL__
{-
@@ -51,7 +52,8 @@ 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, Read, Show)
+data Either a b = Left a | Right b
+ deriving (Eq, Ord, Read, Show, Representable0)
-- | Case analysis for the 'Either' type.
-- If the value is @'Left' a@, apply the first function to @a@;
diff --git a/Data/Maybe.hs b/Data/Maybe.hs
index b96efa7..e6039f2 100644
--- a/Data/Maybe.hs
+++ b/Data/Maybe.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE CPP, NoImplicitPrelude #-}
+{-# LANGUAGE CPP, NoImplicitPrelude, DeriveRepresentable #-}
-----------------------------------------------------------------------------
-- |
@@ -33,6 +33,7 @@ module Data.Maybe
#ifdef __GLASGOW_HASKELL__
import GHC.Base
+import GHC.Generics (Representable0)
#endif
#ifdef __NHC__
@@ -65,7 +66,7 @@ import Maybe
-- error monad can be built using the 'Data.Either.Either' type.
data Maybe a = Nothing | Just a
- deriving (Eq, Ord)
+ deriving (Eq, Ord, Representable0)
instance Functor Maybe where
fmap _ Nothing = Nothing
More information about the Cvs-libraries
mailing list