X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Data%2FEither.hs;h=406e7e7e3bb162dbf8be697f4b8bad69ef3391fa;hb=e831a7c5106c09767a93209ac278edbe5291b153;hp=d8a35b57a912a1b4bdbb2544d741e46e5d21bce5;hpb=f7a485978f04e84b086f1974b88887cc72d832d0;p=ghc-base.git diff --git a/Data/Either.hs b/Data/Either.hs index d8a35b5..406e7e7 100644 --- a/Data/Either.hs +++ b/Data/Either.hs @@ -22,8 +22,20 @@ module Data.Either ( import GHC.Base #endif +#ifndef __HUGS__ +{-| + +The 'Either' type represents values with two possibilities: a value of +type @'Either' a b@ is either @'Left' a@ or @'Right' b@. + +The 'Either' type is sometimes used to represent a value which is +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 ) either :: (a -> c) -> (b -> c) -> Either a b -> c either f _ (Left x) = f x either _ g (Right y) = g y +#endif /* __HUGS__ */