Copyright | (C) 2008-2016 Jesse Selover Edward Kmett |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | provisional |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell98 |
The product of two bifunctors.
Documentation
Form the product of two bifunctors
Pair (f a b) (g a b) |
Instances
BifunctorFunctor (Product p :: (k1 -> k2 -> *) -> k1 -> k2 -> *) Source # | |
BifunctorComonad (Product p :: (k1 -> k2 -> *) -> k1 -> k2 -> *) Source # | |
Generic1 (Product f g a :: k1 -> *) Source # | |
(Bitraversable f, Bitraversable g) => Bitraversable (Product f g) Source # | |
Defined in Data.Bifunctor.Product bitraverse :: Applicative f0 => (a -> f0 c) -> (b -> f0 d) -> Product f g a b -> f0 (Product f g c d) # | |
(Bifoldable f, Bifoldable g) => Bifoldable (Product f g) Source # | |
(Bifunctor f, Bifunctor g) => Bifunctor (Product f g) Source # | |
(Biapplicative f, Biapplicative g) => Biapplicative (Product f g) Source # | |
Defined in Data.Bifunctor.Product bipure :: a -> b -> Product f g a b Source # (<<*>>) :: Product f g (a -> b) (c -> d) -> Product f g a c -> Product f g b d Source # biliftA2 :: (a -> b -> c) -> (d -> e -> f0) -> Product f g a d -> Product f g b e -> Product f g c f0 Source # (*>>) :: Product f g a b -> Product f g c d -> Product f g c d Source # (<<*) :: Product f g a b -> Product f g c d -> Product f g a b Source # | |
(Eq (f a b), Eq (g a b)) => Eq (Product f g a b) Source # | |
(Ord (f a b), Ord (g a b)) => Ord (Product f g a b) Source # | |
Defined in Data.Bifunctor.Product compare :: Product f g a b -> Product f g a b -> Ordering # (<) :: Product f g a b -> Product f g a b -> Bool # (<=) :: Product f g a b -> Product f g a b -> Bool # (>) :: Product f g a b -> Product f g a b -> Bool # (>=) :: Product f g a b -> Product f g a b -> Bool # max :: Product f g a b -> Product f g a b -> Product f g a b # min :: Product f g a b -> Product f g a b -> Product f g a b # | |
(Read (f a b), Read (g a b)) => Read (Product f g a b) Source # | |
(Show (f a b), Show (g a b)) => Show (Product f g a b) Source # | |
Generic (Product f g a b) Source # | |
type Rep1 (Product f g a :: k1 -> *) Source # | |
Defined in Data.Bifunctor.Product type Rep1 (Product f g a :: k1 -> *) = D1 (MetaData "Product" "Data.Bifunctor.Product" "bifunctors-5.5.3-C6ZpRcwIkW2G7uSQuXu3CK" False) (C1 (MetaCons "Pair" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec1 (f a)) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec1 (g a)))) | |
type Rep (Product f g a b) Source # | |
Defined in Data.Bifunctor.Product type Rep (Product f g a b) = D1 (MetaData "Product" "Data.Bifunctor.Product" "bifunctors-5.5.3-C6ZpRcwIkW2G7uSQuXu3CK" False) (C1 (MetaCons "Pair" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (f a b)) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (g a b)))) |