expressions-0.5: Expressions and Formulae a la carte

Data.Expression.Utils.Indexed.Traversable

Description

Synopsis

Documentation

class ITraversable (t :: (i -> *) -> i -> *) where Source #

Type constructors (usually functors) that can be traversed

Methods

itraverse :: forall (a :: i -> *) (b :: i -> *) f. Applicative f => (forall (i' :: i). a i' -> f (b i')) -> forall (i' :: i). t a i' -> f (t b i') Source #

Instances
 Source # Instance detailsDefined in Data.Expression.IfThenElse Methodsitraverse :: Applicative f => (forall (i' :: i). a i' -> f (b i')) -> forall (i' :: i). IfThenElseF a i' -> f (IfThenElseF b i') Source # Source # Instance detailsDefined in Data.Expression.Array Methodsitraverse :: Applicative f => (forall (i' :: i). a i' -> f (b i')) -> forall (i' :: i). ArrayF a i' -> f (ArrayF b i') Source # Source # Instance detailsDefined in Data.Expression.Arithmetic Methodsitraverse :: Applicative f => (forall (i' :: i). a i' -> f (b i')) -> forall (i' :: i). ArithmeticF a i' -> f (ArithmeticF b i') Source # Source # Instance detailsDefined in Data.Expression Methodsitraverse :: Applicative f => (forall (i' :: i). a i' -> f (b i')) -> forall (i' :: i). NegationF a i' -> f (NegationF b i') Source # Source # Instance detailsDefined in Data.Expression Methodsitraverse :: Applicative f => (forall (i' :: i). a i' -> f (b i')) -> forall (i' :: i). DisjunctionF a i' -> f (DisjunctionF b i') Source # Source # Instance detailsDefined in Data.Expression Methodsitraverse :: Applicative f => (forall (i' :: i). a i' -> f (b i')) -> forall (i' :: i). ConjunctionF a i' -> f (ConjunctionF b i') Source # ITraversable (EqualityF :: (Sort -> Type) -> Sort -> Type) Source # Instance detailsDefined in Data.Expression.Equality Methodsitraverse :: Applicative f => (forall (i' :: i). a i' -> f (b i')) -> forall (i' :: i). EqualityF a i' -> f (EqualityF b i') Source # ITraversable (ExistentialF v :: (Sort -> Type) -> Sort -> Type) Source # Instance detailsDefined in Data.Expression Methodsitraverse :: Applicative f => (forall (i' :: i). a i' -> f (b i')) -> forall (i' :: i). ExistentialF v a i' -> f (ExistentialF v b i') Source # ITraversable (UniversalF v :: (Sort -> Type) -> Sort -> Type) Source # Instance detailsDefined in Data.Expression Methodsitraverse :: Applicative f => (forall (i' :: i). a i' -> f (b i')) -> forall (i' :: i). UniversalF v a i' -> f (UniversalF v b i') Source # ITraversable (VarF :: (Sort -> Type) -> Sort -> Type) Source # Instance detailsDefined in Data.Expression Methodsitraverse :: Applicative f => (forall (i' :: i). a i' -> f (b i')) -> forall (i' :: i). VarF a i' -> f (VarF b i') Source # (ITraversable f, ITraversable g) => ITraversable (f :+: g :: (i -> Type) -> i -> Type) Source # Instance detailsDefined in Data.Expression.Utils.Indexed.Sum Methodsitraverse :: Applicative f0 => (forall (i' :: i0). a i' -> f0 (b i')) -> forall (i' :: i0). (f :+: g) a i' -> f0 ((f :+: g) b i') Source #

imapM :: (ITraversable f, Monad m) => (forall (i' :: i). IFix f i' -> m (IFix f i')) -> forall (i' :: i). IFix f i' -> m (IFix f i') Source #

Maps a monadic action over a traversable functor.