Data.Semigroup.Traversable

semigroupoids-5.1: Semigroupoids: Category sans id

Copyright | (C) 2011-2015 Edward Kmett
License | BSD-style (see the file LICENSE)
Maintainer | Edward Kmett <ekmett@gmail.com>
Stability | provisional
Portability | portable
Safe Haskell | Safe
Language | Haskell98

Data.Semigroup.Traversable

Description

# Documentation

class (Foldable1 t, Traversable t) => Traversable1 t where #

Minimal complete definition

traverse1 | sequence1

Methods

traverse1 :: Apply f => (a -> f b) -> t a -> f (t b) #

sequence1 :: Apply f => t (f b) -> f (t b) #

Instances

Traversable1 Identity # |
Methods traverse1 :: Apply f => (a -> f b) -> Identity a -> f (Identity b) # sequence1 :: Apply f => Identity (f b) -> f (Identity b) #
Traversable1 NonEmpty # |
Methods traverse1 :: Apply f => (a -> f b) -> NonEmpty a -> f (NonEmpty b) # sequence1 :: Apply f => NonEmpty (f b) -> f (NonEmpty b) #
Traversable1 Tree # |
Methods traverse1 :: Apply f => (a -> f b) -> Tree a -> f (Tree b) # sequence1 :: Apply f => Tree (f b) -> f (Tree b) #
Traversable1 ((,) a) # |
Methods traverse1 :: Apply f => (a -> f b) -> (a, a) -> f (a, b) # sequence1 :: Apply f => (a, f b) -> f (a, b) #
Traversable1 f => Traversable1 (Lift f) # |
Methods traverse1 :: Apply f => (a -> f b) -> Lift f a -> f (Lift f b) # sequence1 :: Apply f => Lift f (f b) -> f (Lift f b) #
Bitraversable1 p => Traversable1 (Join * p) # |
Methods traverse1 :: Apply f => (a -> f b) -> Join * p a -> f (Join * p b) # sequence1 :: Apply f => Join * p (f b) -> f (Join * p b) #
Traversable1 f => Traversable1 (IdentityT * f) # |
Methods traverse1 :: Apply f => (a -> f b) -> IdentityT * f a -> f (IdentityT * f b) # sequence1 :: Apply f => IdentityT * f (f b) -> f (IdentityT * f b) #
Traversable1 f => Traversable1 (Reverse * f) # |
Methods traverse1 :: Apply f => (a -> f b) -> Reverse * f a -> f (Reverse * f b) # sequence1 :: Apply f => Reverse * f (f b) -> f (Reverse * f b) #
Traversable1 f => Traversable1 (Backwards * f) # |
Methods traverse1 :: Apply f => (a -> f b) -> Backwards * f a -> f (Backwards * f b) # sequence1 :: Apply f => Backwards * f (f b) -> f (Backwards * f b) #
(Traversable1 f, Traversable1 g) => Traversable1 (Sum * f g) # |
Methods traverse1 :: Apply f => (a -> f b) -> Sum * f g a -> f (Sum * f g b) # sequence1 :: Apply f => Sum * f g (f b) -> f (Sum * f g b) #
(Traversable1 f, Traversable1 g) => Traversable1 (Product * f g) # |
Methods traverse1 :: Apply f => (a -> f b) -> Product * f g a -> f (Product * f g b) # sequence1 :: Apply f => Product * f g (f b) -> f (Product * f g b) #
(Traversable1 f, Traversable1 g) => Traversable1 (Compose * * f g) # |
Methods traverse1 :: Apply f => (a -> f b) -> Compose * * f g a -> f (Compose * * f g b) # sequence1 :: Apply f => Compose * * f g (f b) -> f (Compose * * f g b) #
Traversable1 g => Traversable1 (Joker * * g a) # |
Methods traverse1 :: Apply f => (a -> f b) -> Joker * * g a a -> f (Joker * * g a b) # sequence1 :: Apply f => Joker * * g a (f b) -> f (Joker * * g a b) #

foldMap1Default :: (Traversable1 f, Semigroup m) => (a -> m) -> f a -> m #