hs-functors-0.1.2.0: Functors from products of Haskell and its dual to Haskell

Safe HaskellNone
LanguageHaskell2010

Data.Bifunctor.Biff

Documentation

newtype Biff s f g a b Source #

Constructors

Biff 

Fields

Instances

(Bitraversable s, Traversable f, Traversable g) => Bitraversable (Biff * * * * s f g) Source # 

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Biff * * * * s f g a b -> f (Biff * * * * s f g c d) #

(Bifoldable s, Foldable f, Foldable g) => Bifoldable (Biff * * * * s f g) Source # 

Methods

bifold :: Monoid m => Biff * * * * s f g m m -> m #

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> Biff * * * * s f g a b -> m #

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> Biff * * * * s f g a b -> c #

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> Biff * * * * s f g a b -> c #

(Bifunctor s, Functor f, Functor g) => Bifunctor (Biff * * * * s f g) Source # 

Methods

bimap :: (a -> b) -> (c -> d) -> Biff * * * * s f g a c -> Biff * * * * s f g b d #

first :: (a -> b) -> Biff * * * * s f g a c -> Biff * * * * s f g b c #

second :: (b -> c) -> Biff * * * * s f g a b -> Biff * * * * s f g a c #

(Eq2 s, Eq1 f, Eq1 g) => Eq2 (Biff * * * * s f g) Source # 

Methods

liftEq2 :: (a -> b -> Bool) -> (c -> d -> Bool) -> Biff * * * * s f g a c -> Biff * * * * s f g b d -> Bool #

(Ord2 s, Ord1 f, Ord1 g) => Ord2 (Biff * * * * s f g) Source # 

Methods

liftCompare2 :: (a -> b -> Ordering) -> (c -> d -> Ordering) -> Biff * * * * s f g a c -> Biff * * * * s f g b d -> Ordering #

(Read2 s, Read1 f, Read1 g) => Read2 (Biff * * * * s f g) Source # 

Methods

liftReadsPrec2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> Int -> ReadS (Biff * * * * s f g a b) #

liftReadList2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> ReadS [Biff * * * * s f g a b] #

liftReadPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec (Biff * * * * s f g a b) #

liftReadListPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [Biff * * * * s f g a b] #

(Show2 s, Show1 f, Show1 g) => Show2 (Biff * * * * s f g) Source # 

Methods

liftShowsPrec2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> Int -> Biff * * * * s f g a b -> ShowS #

liftShowList2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> [Biff * * * * s f g a b] -> ShowS #

(Bicotraversable s, Cotraversable f, Cotraversable g) => Bicotraversable (Biff * * * * s f g) Source # 

Methods

bicollect :: Functor g => (a -> Biff * * * * s f g b c) -> g a -> Biff * * * * s f g (g b) (g c) Source #

bicosequence :: Functor g => g (Biff * * * * s f g a b) -> Biff * * * * s f g (g a) (g b) Source #

bicotraverse :: Functor g => (g a -> b) -> (g c -> d) -> g (Biff * * * * s f g a c) -> Biff * * * * s f g b d Source #

(Functor (s (f a)), Functor g) => Functor (Biff k1 * k2 * s f g a) Source # 

Methods

fmap :: (a -> b) -> Biff k1 * k2 * s f g a a -> Biff k1 * k2 * s f g a b #

(<$) :: a -> Biff k1 * k2 * s f g a b -> Biff k1 * k2 * s f g a a #

(Foldable (s (f a)), Foldable g) => Foldable (Biff k1 * k2 * s f g a) Source # 

Methods

fold :: Monoid m => Biff k1 * k2 * s f g a m -> m #

foldMap :: Monoid m => (a -> m) -> Biff k1 * k2 * s f g a a -> m #

foldr :: (a -> b -> b) -> b -> Biff k1 * k2 * s f g a a -> b #

foldr' :: (a -> b -> b) -> b -> Biff k1 * k2 * s f g a a -> b #

foldl :: (b -> a -> b) -> b -> Biff k1 * k2 * s f g a a -> b #

foldl' :: (b -> a -> b) -> b -> Biff k1 * k2 * s f g a a -> b #

foldr1 :: (a -> a -> a) -> Biff k1 * k2 * s f g a a -> a #

foldl1 :: (a -> a -> a) -> Biff k1 * k2 * s f g a a -> a #

toList :: Biff k1 * k2 * s f g a a -> [a] #

null :: Biff k1 * k2 * s f g a a -> Bool #

length :: Biff k1 * k2 * s f g a a -> Int #

elem :: Eq a => a -> Biff k1 * k2 * s f g a a -> Bool #

maximum :: Ord a => Biff k1 * k2 * s f g a a -> a #

minimum :: Ord a => Biff k1 * k2 * s f g a a -> a #

sum :: Num a => Biff k1 * k2 * s f g a a -> a #

product :: Num a => Biff k1 * k2 * s f g a a -> a #

(Traversable (s (f a)), Traversable g) => Traversable (Biff k2 * k1 * s f g a) Source # 

Methods

traverse :: Applicative f => (a -> f b) -> Biff k2 * k1 * s f g a a -> f (Biff k2 * k1 * s f g a b) #

sequenceA :: Applicative f => Biff k2 * k1 * s f g a (f a) -> f (Biff k2 * k1 * s f g a a) #

mapM :: Monad m => (a -> m b) -> Biff k2 * k1 * s f g a a -> m (Biff k2 * k1 * s f g a b) #

sequence :: Monad m => Biff k2 * k1 * s f g a (m a) -> m (Biff k2 * k1 * s f g a a) #

(Eq2 s, Eq1 f, Eq1 g, Eq a, Eq b) => Eq (Biff * * * * s f g a b) Source # 

Methods

(==) :: Biff * * * * s f g a b -> Biff * * * * s f g a b -> Bool #

(/=) :: Biff * * * * s f g a b -> Biff * * * * s f g a b -> Bool #

(Ord2 s, Ord1 f, Ord1 g, Ord a, Ord b) => Ord (Biff * * * * s f g a b) Source # 

Methods

compare :: Biff * * * * s f g a b -> Biff * * * * s f g a b -> Ordering #

(<) :: Biff * * * * s f g a b -> Biff * * * * s f g a b -> Bool #

(<=) :: Biff * * * * s f g a b -> Biff * * * * s f g a b -> Bool #

(>) :: Biff * * * * s f g a b -> Biff * * * * s f g a b -> Bool #

(>=) :: Biff * * * * s f g a b -> Biff * * * * s f g a b -> Bool #

max :: Biff * * * * s f g a b -> Biff * * * * s f g a b -> Biff * * * * s f g a b #

min :: Biff * * * * s f g a b -> Biff * * * * s f g a b -> Biff * * * * s f g a b #

(Read2 s, Read1 f, Read1 g, Read a, Read b) => Read (Biff * * * * s f g a b) Source # 

Methods

readsPrec :: Int -> ReadS (Biff * * * * s f g a b) #

readList :: ReadS [Biff * * * * s f g a b] #

readPrec :: ReadPrec (Biff * * * * s f g a b) #

readListPrec :: ReadPrec [Biff * * * * s f g a b] #

(Show2 s, Show1 f, Show1 g, Show a, Show b) => Show (Biff * * * * s f g a b) Source # 

Methods

showsPrec :: Int -> Biff * * * * s f g a b -> ShowS #

show :: Biff * * * * s f g a b -> String #

showList :: [Biff * * * * s f g a b] -> ShowS #