expressions-0.2: Expressions and Formulae a la carte

Copyright(C) 2017-18 Jakub Daniel
LicenseBSD-style (see the file LICENSE)
MaintainerJakub Daniel <jakub.daniel@protonmail.com>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Data.Expression.Utils.Indexed.Traversable

Description

 
Synopsis

Documentation

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

Type constructors (usually functors) that can be traversed

Minimal complete definition

itraverse

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
ITraversable IfThenElseF Source # 
Instance details

Defined in Data.Expression.IfThenElse

Methods

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

ITraversable ArrayF Source # 
Instance details

Defined in Data.Expression.Array

Methods

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

ITraversable ArithmeticF Source # 
Instance details

Defined in Data.Expression.Arithmetic

Methods

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

ITraversable NegationF Source # 
Instance details

Defined in Data.Expression

Methods

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

ITraversable DisjunctionF Source # 
Instance details

Defined in Data.Expression

Methods

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

ITraversable ConjunctionF Source # 
Instance details

Defined in Data.Expression

Methods

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

ITraversable (EqualityF :: (Sort -> *) -> Sort -> *) Source # 
Instance details

Defined in Data.Expression.Equality

Methods

itraverse :: 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 -> *) -> Sort -> *) Source # 
Instance details

Defined in Data.Expression

Methods

itraverse :: 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 -> *) -> Sort -> *) Source # 
Instance details

Defined in Data.Expression

Methods

itraverse :: 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 -> *) -> Sort -> *) Source # 
Instance details

Defined in Data.Expression

Methods

itraverse :: 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 -> *) -> i -> *) Source # 
Instance details

Defined in Data.Expression.Utils.Indexed.Sum

Methods

itraverse :: 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.