| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Data.Strict.Either
Description
The strict variant of the standard Haskell Either type and the
corresponding variants of the functions from Data.Either.
Note that the strict Either type is not an applicative functor, and
therefore also no monad. The reasons are the same as the ones for the
strict Maybe type, which are explained in Data.Maybe.Strict.
Documentation
The strict choice type.
Instances
Instances details
Instance details
Defined in Data.Strict.Either
Methods
bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Either a b -> f (Either c d) #
Instance details
Defined in Data.Strict.Either
Instance details
Defined in Data.Strict.Either
Methods
liftReadsPrec2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> Int -> ReadS (Either a b) #
liftReadList2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> ReadS [Either a b] #
liftReadPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec (Either a b) #
liftReadListPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [Either a b] #
Instance details
Defined in Data.Strict.Either
Instance details
Defined in Data.Strict.Either
Instance details
Defined in Data.Strict.Either
Instance details
Defined in Data.Strict.Either
Methods
fold :: Monoid m => Either e m -> m #
foldMap :: Monoid m => (a -> m) -> Either e a -> m #
foldMap' :: Monoid m => (a -> m) -> Either e a -> m #
foldr :: (a -> b -> b) -> b -> Either e a -> b #
foldr' :: (a -> b -> b) -> b -> Either e a -> b #
foldl :: (b -> a -> b) -> b -> Either e a -> b #
foldl' :: (b -> a -> b) -> b -> Either e a -> b #
foldr1 :: (a -> a -> a) -> Either e a -> a #
foldl1 :: (a -> a -> a) -> Either e a -> a #
elem :: Eq a => a -> Either e a -> Bool #
maximum :: Ord a => Either e a -> a #
minimum :: Ord a => Either e a -> a #
Instance details
Defined in Data.Strict.Either
Instance details
Defined in Data.Strict.Either
Methods
liftReadsPrec :: (Int -> ReadS a0) -> ReadS [a0] -> Int -> ReadS (Either a a0) #
liftReadList :: (Int -> ReadS a0) -> ReadS [a0] -> ReadS [Either a a0] #
liftReadPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec (Either a a0) #
liftReadListPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec [Either a a0] #
Instance details
Defined in Data.Strict.Either
Instance details
Defined in Data.Strict.Either
Instance details
Defined in Data.Strict.Either
Methods
gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> Either a b -> c (Either a b) #
gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Either a b) #
toConstr :: Either a b -> Constr #
dataTypeOf :: Either a b -> DataType #
dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Either a b)) #
dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Either a b)) #
gmapT :: (forall b0. Data b0 => b0 -> b0) -> Either a b -> Either a b #
gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Either a b -> r #
gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Either a b -> r #
gmapQ :: (forall d. Data d => d -> u) -> Either a b -> [u] #
gmapQi :: Int -> (forall d. Data d => d -> u) -> Either a b -> u #
gmapM :: Monad m => (forall d. Data d => d -> m d) -> Either a b -> m (Either a b) #
gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Either a b -> m (Either a b) #
gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Either a b -> m (Either a b) #
Instance details
Defined in Data.Strict.Either
Instance details
Defined in Data.Strict.Either
Instance details
Defined in Data.Strict.Either
Instance details
Defined in Data.Strict.Either
partitionEithers :: [Either a b] -> ([a], [b]) Source #
Analogous to partitionEithers in Data.Either.