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

Safe HaskellNone
LanguageHaskell2010

Data.Bifunctor.Tannen

Documentation

newtype Tannen f s a b Source #

Constructors

Tannen 

Fields

Instances

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

Methods

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

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

Methods

bifold :: Monoid m => Tannen * * * f s m m -> m #

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

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

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

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

Methods

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

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

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

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

Methods

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

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

Methods

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

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

Methods

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

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

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

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

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

Methods

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

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

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

Methods

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

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

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

(Functor (s a), Functor f) => Functor (Tannen * k * f s a) Source # 

Methods

fmap :: (a -> b) -> Tannen * k * f s a a -> Tannen * k * f s a b #

(<$) :: a -> Tannen * k * f s a b -> Tannen * k * f s a a #

(Foldable (s a), Foldable f) => Foldable (Tannen * k * f s a) Source # 

Methods

fold :: Monoid m => Tannen * k * f s a m -> m #

foldMap :: Monoid m => (a -> m) -> Tannen * k * f s a a -> m #

foldr :: (a -> b -> b) -> b -> Tannen * k * f s a a -> b #

foldr' :: (a -> b -> b) -> b -> Tannen * k * f s a a -> b #

foldl :: (b -> a -> b) -> b -> Tannen * k * f s a a -> b #

foldl' :: (b -> a -> b) -> b -> Tannen * k * f s a a -> b #

foldr1 :: (a -> a -> a) -> Tannen * k * f s a a -> a #

foldl1 :: (a -> a -> a) -> Tannen * k * f s a a -> a #

toList :: Tannen * k * f s a a -> [a] #

null :: Tannen * k * f s a a -> Bool #

length :: Tannen * k * f s a a -> Int #

elem :: Eq a => a -> Tannen * k * f s a a -> Bool #

maximum :: Ord a => Tannen * k * f s a a -> a #

minimum :: Ord a => Tannen * k * f s a a -> a #

sum :: Num a => Tannen * k * f s a a -> a #

product :: Num a => Tannen * k * f s a a -> a #

(Traversable f, Traversable (s a)) => Traversable (Tannen * k * f s a) Source # 

Methods

traverse :: Applicative f => (a -> f b) -> Tannen * k * f s a a -> f (Tannen * k * f s a b) #

sequenceA :: Applicative f => Tannen * k * f s a (f a) -> f (Tannen * k * f s a a) #

mapM :: Monad m => (a -> m b) -> Tannen * k * f s a a -> m (Tannen * k * f s a b) #

sequence :: Monad m => Tannen * k * f s a (m a) -> m (Tannen * k * f s a a) #

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

Methods

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

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

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

Methods

compare :: Tannen * * * f s a b -> Tannen * * * f s a b -> Ordering #

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

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

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

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

max :: Tannen * * * f s a b -> Tannen * * * f s a b -> Tannen * * * f s a b #

min :: Tannen * * * f s a b -> Tannen * * * f s a b -> Tannen * * * f s a b #

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

Methods

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

readList :: ReadS [Tannen * * * f s a b] #

readPrec :: ReadPrec (Tannen * * * f s a b) #

readListPrec :: ReadPrec [Tannen * * * f s a b] #

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

Methods

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

show :: Tannen * * * f s a b -> String #

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