semigroupoids-5.3.3: Semigroupoids: Category sans id

Copyright(C) 2011-2015 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityprovisional
Portabilityportable
Safe HaskellSafe
LanguageHaskell98

Data.Semigroup.Bitraversable

Description

 

Documentation

class (NonEmptyBifoldable t, Bitraversable t) => NonEmptyBitraversable t where Source #

Minimal complete definition

bitraverseNE | bisequenceNE

Methods

bitraverseNE :: Semiapplicative f => (a -> f b) -> (c -> f d) -> t a c -> f (t b d) Source #

bisequenceNE :: Semiapplicative f => t (f a) (f b) -> f (t a b) Source #

Instances
NonEmptyBitraversable Either Source # 
Instance details

Defined in Data.Semigroup.Traversable.Class

Methods

bitraverseNE :: Semiapplicative f => (a -> f b) -> (c -> f d) -> Either a c -> f (Either b d) Source #

bisequenceNE :: Semiapplicative f => Either (f a) (f b) -> f (Either a b) Source #

NonEmptyBitraversable (,) Source # 
Instance details

Defined in Data.Semigroup.Traversable.Class

Methods

bitraverseNE :: Semiapplicative f => (a -> f b) -> (c -> f d) -> (a, c) -> f (b, d) Source #

bisequenceNE :: Semiapplicative f => (f a, f b) -> f (a, b) Source #

NonEmptyBitraversable Arg Source # 
Instance details

Defined in Data.Semigroup.Traversable.Class

Methods

bitraverseNE :: Semiapplicative f => (a -> f b) -> (c -> f d) -> Arg a c -> f (Arg b d) Source #

bisequenceNE :: Semiapplicative f => Arg (f a) (f b) -> f (Arg a b) Source #

NonEmptyBitraversable ((,,) x) Source # 
Instance details

Defined in Data.Semigroup.Traversable.Class

Methods

bitraverseNE :: Semiapplicative f => (a -> f b) -> (c -> f d) -> (x, a, c) -> f (x, b, d) Source #

bisequenceNE :: Semiapplicative f => (x, f a, f b) -> f (x, a, b) Source #

NonEmptyBitraversable (Const :: * -> * -> *) Source # 
Instance details

Defined in Data.Semigroup.Traversable.Class

Methods

bitraverseNE :: Semiapplicative f => (a -> f b) -> (c -> f d) -> Const a c -> f (Const b d) Source #

bisequenceNE :: Semiapplicative f => Const (f a) (f b) -> f (Const a b) Source #

NonEmptyBitraversable (Tagged :: * -> * -> *) Source # 
Instance details

Defined in Data.Semigroup.Traversable.Class

Methods

bitraverseNE :: Semiapplicative f => (a -> f b) -> (c -> f d) -> Tagged a c -> f (Tagged b d) Source #

bisequenceNE :: Semiapplicative f => Tagged (f a) (f b) -> f (Tagged a b) Source #

NonEmptyBitraversable ((,,,) x y) Source # 
Instance details

Defined in Data.Semigroup.Traversable.Class

Methods

bitraverseNE :: Semiapplicative f => (a -> f b) -> (c -> f d) -> (x, y, a, c) -> f (x, y, b, d) Source #

bisequenceNE :: Semiapplicative f => (x, y, f a, f b) -> f (x, y, a, b) Source #

NonEmptyBitraversable ((,,,,) x y z) Source # 
Instance details

Defined in Data.Semigroup.Traversable.Class

Methods

bitraverseNE :: Semiapplicative f => (a -> f b) -> (c -> f d) -> (x, y, z, a, c) -> f (x, y, z, b, d) Source #

bisequenceNE :: Semiapplicative f => (x, y, z, f a, f b) -> f (x, y, z, a, b) Source #

NonEmptyTraversable f => NonEmptyBitraversable (Clown f :: * -> * -> *) Source # 
Instance details

Defined in Data.Semigroup.Traversable.Class

Methods

bitraverseNE :: Semiapplicative f0 => (a -> f0 b) -> (c -> f0 d) -> Clown f a c -> f0 (Clown f b d) Source #

bisequenceNE :: Semiapplicative f0 => Clown f (f0 a) (f0 b) -> f0 (Clown f a b) Source #

NonEmptyBitraversable p => NonEmptyBitraversable (Flip p) Source # 
Instance details

Defined in Data.Semigroup.Traversable.Class

Methods

bitraverseNE :: Semiapplicative f => (a -> f b) -> (c -> f d) -> Flip p a c -> f (Flip p b d) Source #

bisequenceNE :: Semiapplicative f => Flip p (f a) (f b) -> f (Flip p a b) Source #

NonEmptyTraversable g => NonEmptyBitraversable (Joker g :: * -> * -> *) Source # 
Instance details

Defined in Data.Semigroup.Traversable.Class

Methods

bitraverseNE :: Semiapplicative f => (a -> f b) -> (c -> f d) -> Joker g a c -> f (Joker g b d) Source #

bisequenceNE :: Semiapplicative f => Joker g (f a) (f b) -> f (Joker g a b) Source #

NonEmptyBitraversable p => NonEmptyBitraversable (WrappedBifunctor p) Source # 
Instance details

Defined in Data.Semigroup.Traversable.Class

Methods

bitraverseNE :: Semiapplicative f => (a -> f b) -> (c -> f d) -> WrappedBifunctor p a c -> f (WrappedBifunctor p b d) Source #

bisequenceNE :: Semiapplicative f => WrappedBifunctor p (f a) (f b) -> f (WrappedBifunctor p a b) Source #

(NonEmptyBitraversable f, NonEmptyBitraversable g) => NonEmptyBitraversable (Product f g) Source # 
Instance details

Defined in Data.Semigroup.Traversable.Class

Methods

bitraverseNE :: Semiapplicative f0 => (a -> f0 b) -> (c -> f0 d) -> Product f g a c -> f0 (Product f g b d) Source #

bisequenceNE :: Semiapplicative f0 => Product f g (f0 a) (f0 b) -> f0 (Product f g a b) Source #

(NonEmptyTraversable f, NonEmptyBitraversable p) => NonEmptyBitraversable (Tannen f p) Source # 
Instance details

Defined in Data.Semigroup.Traversable.Class

Methods

bitraverseNE :: Semiapplicative f0 => (a -> f0 b) -> (c -> f0 d) -> Tannen f p a c -> f0 (Tannen f p b d) Source #

bisequenceNE :: Semiapplicative f0 => Tannen f p (f0 a) (f0 b) -> f0 (Tannen f p a b) Source #

(NonEmptyBitraversable p, NonEmptyTraversable f, NonEmptyTraversable g) => NonEmptyBitraversable (Biff p f g) Source # 
Instance details

Defined in Data.Semigroup.Traversable.Class

Methods

bitraverseNE :: Semiapplicative f0 => (a -> f0 b) -> (c -> f0 d) -> Biff p f g a c -> f0 (Biff p f g b d) Source #

bisequenceNE :: Semiapplicative f0 => Biff p f g (f0 a) (f0 b) -> f0 (Biff p f g a b) Source #

bifoldMapNEDefault :: (NonEmptyBitraversable t, Semigroup m) => (a -> m) -> (b -> m) -> t a b -> m Source #