diff options
| author | Ian Lynagh <igloo@earth.li> | 2008-08-06 12:05:04 +0000 |
|---|---|---|
| committer | Ian Lynagh <igloo@earth.li> | 2008-08-06 12:05:04 +0000 |
| commit | bc3938e68058b971df2554a11a41d8a81a6f939e (patch) | |
| tree | 61f2a896b775609c7c18a05d23d6a3c9acc1c657 /libraries/base/Data/Either.hs | |
| parent | 13fb5c0c68f66beb7e1f256849e006e7d2a56b34 (diff) | |
| download | haskell-bc3938e68058b971df2554a11a41d8a81a6f939e.tar.gz | |
Move some bits around to stop Data.Either being in the base import knot
Diffstat (limited to 'libraries/base/Data/Either.hs')
| -rw-r--r-- | libraries/base/Data/Either.hs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libraries/base/Data/Either.hs b/libraries/base/Data/Either.hs index cb71eaa8d5..956e6daedc 100644 --- a/libraries/base/Data/Either.hs +++ b/libraries/base/Data/Either.hs @@ -21,9 +21,13 @@ module Data.Either ( partitionEithers, -- :: [Either a b] -> ([a],[b]) ) where +#include "Typeable.h" + #ifdef __GLASGOW_HASKELL__ import GHC.Base import GHC.Show +import GHC.Read +import Data.Typeable {- -- just for testing @@ -40,7 +44,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, Show) +data Either a b = Left a | Right b deriving (Eq, Ord, Read, Show) -- | Case analysis for the 'Either' type. -- If the value is @'Left' a@, apply the first function to @a@; @@ -50,6 +54,8 @@ either f _ (Left x) = f x either _ g (Right y) = g y #endif /* __GLASGOW_HASKELL__ */ +INSTANCE_TYPEABLE2(Either,eitherTc,"Either") + -- | Extracts from a list of 'Either' all the 'Left' elements -- All the 'Left' elements are extracted in order. |
