hs-functors-0.1.7.1: 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
(Lift φ p, Functor f, Applicative g, Traversable φ, Cotraversable φ) => Lift φ (Biff p f g) Source # 
Instance details

Defined in Data.Profunctor

Methods

lift :: Biff p f g a b -> Biff p f g (φ a) (φ b) Source #

(Functor f, Cotraversable g, Lift ((->) a :: Type -> Type) p) => Lift ((->) a :: Type -> Type) (Biff p f g) Source # 
Instance details

Defined in Data.Profunctor

Methods

lift :: Biff p f g a0 b -> Biff p f g (a -> a0) (a -> b) Source #

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

Defined in Data.Bifunctor.Biff

Methods

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

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

Defined in Data.Bifunctor.Biff

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 # 
Instance details

Defined in Data.Bifunctor.Biff

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 # 
Instance details

Defined in Data.Bifunctor.Biff

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 # 
Instance details

Defined in Data.Bifunctor.Biff

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 # 
Instance details

Defined in Data.Bifunctor.Biff

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 # 
Instance details

Defined in Data.Bifunctor.Biff

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 # 
Instance details

Defined in Data.Bifunctor.Biff

Methods

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

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

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

(Profunctor p, Functor f, Functor g) => Profunctor (Biff p f g) Source # 
Instance details

Defined in Data.Profunctor

Methods

dimap :: (a -> b) -> (c -> d) -> Biff p f g b c -> Biff p f g a d Source #

lmap :: (a -> b) -> Biff p f g b c -> Biff p f g a c Source #

rmap :: (b -> c) -> Biff p f g a b -> Biff p f g a c Source #

(Functor g, Functor (s (f a))) => Functor (Biff s f g a) Source # 
Instance details

Defined in Data.Bifunctor.Biff

Methods

fmap :: (a0 -> b) -> Biff s f g a a0 -> Biff s f g a b #

(<$) :: a0 -> Biff s f g a b -> Biff s f g a a0 #

(Foldable g, Foldable (s (f a))) => Foldable (Biff s f g a) Source # 
Instance details

Defined in Data.Bifunctor.Biff

Methods

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

foldMap :: Monoid m => (a0 -> m) -> Biff s f g a a0 -> m #

foldr :: (a0 -> b -> b) -> b -> Biff s f g a a0 -> b #

foldr' :: (a0 -> b -> b) -> b -> Biff s f g a a0 -> b #

foldl :: (b -> a0 -> b) -> b -> Biff s f g a a0 -> b #

foldl' :: (b -> a0 -> b) -> b -> Biff s f g a a0 -> b #

foldr1 :: (a0 -> a0 -> a0) -> Biff s f g a a0 -> a0 #

foldl1 :: (a0 -> a0 -> a0) -> Biff s f g a a0 -> a0 #

toList :: Biff s f g a a0 -> [a0] #

null :: Biff s f g a a0 -> Bool #

length :: Biff s f g a a0 -> Int #

elem :: Eq a0 => a0 -> Biff s f g a a0 -> Bool #

maximum :: Ord a0 => Biff s f g a a0 -> a0 #

minimum :: Ord a0 => Biff s f g a a0 -> a0 #

sum :: Num a0 => Biff s f g a a0 -> a0 #

product :: Num a0 => Biff s f g a a0 -> a0 #

(Traversable (s (f a)), Traversable g) => Traversable (Biff s f g a) Source # 
Instance details

Defined in Data.Bifunctor.Biff

Methods

traverse :: Applicative f0 => (a0 -> f0 b) -> Biff s f g a a0 -> f0 (Biff s f g a b) #

sequenceA :: Applicative f0 => Biff s f g a (f0 a0) -> f0 (Biff s f g a a0) #

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

sequence :: Monad m => Biff s f g a (m a0) -> m (Biff s f g a a0) #

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

Defined in Data.Bifunctor.Biff

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 # 
Instance details

Defined in Data.Bifunctor.Biff

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 # 
Instance details

Defined in Data.Bifunctor.Biff

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 # 
Instance details

Defined in Data.Bifunctor.Biff

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 #