bifunctors-5.5.1: Bifunctors

Safe HaskellSafe
LanguageHaskell98

Data.Bifunctor.Sum

Documentation

data Sum p q a b Source #

Constructors

L2 (p a b) 
R2 (q a b) 

Instances

BifunctorFunctor k1 k2 k1 k2 (Sum k1 k2 p) Source # 

Methods

bifmap :: (Sum k1 k2 p :-> k) p q -> (k :-> k) (t p) (t q) Source #

BifunctorMonad k1 k2 (Sum k1 k2 p) Source # 

Methods

bireturn :: p a b -> t p a b Source #

bibind :: (Sum k1 k2 p :-> k) p (t q) -> (Sum k1 k2 p :-> k) (t p) (t q) Source #

bijoin :: t (t p) a b -> t p a b Source #

Generic1 k1 (Sum k2 k1 p q a) Source # 

Associated Types

type Rep1 (Sum k2 k1 p q a) (f :: Sum k2 k1 p q a -> *) :: k -> * #

Methods

from1 :: f a -> Rep1 (Sum k2 k1 p q a) f a #

to1 :: Rep1 (Sum k2 k1 p q a) f a -> f a #

(Bitraversable p, Bitraversable q) => Bitraversable (Sum * * p q) Source # 

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Sum * * p q a b -> f (Sum * * p q c d) #

(Bifoldable p, Bifoldable q) => Bifoldable (Sum * * p q) Source # 

Methods

bifold :: Monoid m => Sum * * p q m m -> m #

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> Sum * * p q a b -> m #

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> Sum * * p q a b -> c #

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> Sum * * p q a b -> c #

(Bifunctor p, Bifunctor q) => Bifunctor (Sum * * p q) Source # 

Methods

bimap :: (a -> b) -> (c -> d) -> Sum * * p q a c -> Sum * * p q b d #

first :: (a -> b) -> Sum * * p q a c -> Sum * * p q b c #

second :: (b -> c) -> Sum * * p q a b -> Sum * * p q a c #

(Eq (q a b), Eq (p a b)) => Eq (Sum k1 k2 p q a b) Source # 

Methods

(==) :: Sum k1 k2 p q a b -> Sum k1 k2 p q a b -> Bool #

(/=) :: Sum k1 k2 p q a b -> Sum k1 k2 p q a b -> Bool #

(Ord (q a b), Ord (p a b)) => Ord (Sum k1 k2 p q a b) Source # 

Methods

compare :: Sum k1 k2 p q a b -> Sum k1 k2 p q a b -> Ordering #

(<) :: Sum k1 k2 p q a b -> Sum k1 k2 p q a b -> Bool #

(<=) :: Sum k1 k2 p q a b -> Sum k1 k2 p q a b -> Bool #

(>) :: Sum k1 k2 p q a b -> Sum k1 k2 p q a b -> Bool #

(>=) :: Sum k1 k2 p q a b -> Sum k1 k2 p q a b -> Bool #

max :: Sum k1 k2 p q a b -> Sum k1 k2 p q a b -> Sum k1 k2 p q a b #

min :: Sum k1 k2 p q a b -> Sum k1 k2 p q a b -> Sum k1 k2 p q a b #

(Read (q a b), Read (p a b)) => Read (Sum k1 k2 p q a b) Source # 

Methods

readsPrec :: Int -> ReadS (Sum k1 k2 p q a b) #

readList :: ReadS [Sum k1 k2 p q a b] #

readPrec :: ReadPrec (Sum k1 k2 p q a b) #

readListPrec :: ReadPrec [Sum k1 k2 p q a b] #

(Show (q a b), Show (p a b)) => Show (Sum k1 k2 p q a b) Source # 

Methods

showsPrec :: Int -> Sum k1 k2 p q a b -> ShowS #

show :: Sum k1 k2 p q a b -> String #

showList :: [Sum k1 k2 p q a b] -> ShowS #

Generic (Sum k1 k2 p q a b) Source # 

Associated Types

type Rep (Sum k1 k2 p q a b) :: * -> * #

Methods

from :: Sum k1 k2 p q a b -> Rep (Sum k1 k2 p q a b) x #

to :: Rep (Sum k1 k2 p q a b) x -> Sum k1 k2 p q a b #

type Rep1 k1 (Sum k2 k1 p q a) Source # 
type Rep1 k1 (Sum k2 k1 p q a) = D1 k1 (MetaData "Sum" "Data.Bifunctor.Sum" "bifunctors-5.5.1-Hd2UXQIBBQJ5NmYijuocPa" False) ((:+:) k1 (C1 k1 (MetaCons "L2" PrefixI False) (S1 k1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec1 k1 (p a)))) (C1 k1 (MetaCons "R2" PrefixI False) (S1 k1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec1 k1 (q a)))))
type Rep (Sum k1 k2 p q a b) Source # 
type Rep (Sum k1 k2 p q a b) = D1 * (MetaData "Sum" "Data.Bifunctor.Sum" "bifunctors-5.5.1-Hd2UXQIBBQJ5NmYijuocPa" False) ((:+:) * (C1 * (MetaCons "L2" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (p a b)))) (C1 * (MetaCons "R2" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (q a b)))))