expressions-0.1.9: 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 HaskellSafe
LanguageHaskell2010

Data.Expression.Utils.Indexed.Foldable

Description

 
Synopsis

Documentation

class IFoldable (f :: (i -> *) -> i -> *) where Source #

Type constructors (usually functors) that can be folded

Minimal complete definition

ifold

Methods

ifold :: Monoid m => f (Const m) i' -> Const m i' Source #

Instances
IFoldable IfThenElseF Source # 
Instance details

Defined in Data.Expression.IfThenElse

Methods

ifold :: Monoid m => IfThenElseF (Const m) i' -> Const m i' Source #

IFoldable ArrayF Source # 
Instance details

Defined in Data.Expression.Array

Methods

ifold :: Monoid m => ArrayF (Const m) i' -> Const m i' Source #

IFoldable ArithmeticF Source # 
Instance details

Defined in Data.Expression.Arithmetic

Methods

ifold :: Monoid m => ArithmeticF (Const m) i' -> Const m i' Source #

IFoldable NegationF Source # 
Instance details

Defined in Data.Expression

Methods

ifold :: Monoid m => NegationF (Const m) i' -> Const m i' Source #

IFoldable DisjunctionF Source # 
Instance details

Defined in Data.Expression

Methods

ifold :: Monoid m => DisjunctionF (Const m) i' -> Const m i' Source #

IFoldable ConjunctionF Source # 
Instance details

Defined in Data.Expression

Methods

ifold :: Monoid m => ConjunctionF (Const m) i' -> Const m i' Source #

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

Defined in Data.Expression.Equality

Methods

ifold :: Monoid m => EqualityF (Const m) i' -> Const m i' Source #

IFoldable (ExistentialF v :: (Sort -> *) -> Sort -> *) Source # 
Instance details

Defined in Data.Expression

Methods

ifold :: Monoid m => ExistentialF v (Const m) i' -> Const m i' Source #

IFoldable (UniversalF v :: (Sort -> *) -> Sort -> *) Source # 
Instance details

Defined in Data.Expression

Methods

ifold :: Monoid m => UniversalF v (Const m) i' -> Const m i' Source #

IFoldable (VarF :: (Sort -> *) -> Sort -> *) Source # 
Instance details

Defined in Data.Expression

Methods

ifold :: Monoid m => VarF (Const m) i' -> Const m i' Source #

(IFoldable f, IFoldable g) => IFoldable (f :+: g :: (i -> *) -> i -> *) Source # 
Instance details

Defined in Data.Expression.Utils.Indexed.Sum

Methods

ifold :: Monoid m => (f :+: g) (Const m) i' -> Const m i' Source #