expressions-0.1.1: Expressions and Formulas 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 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 Sort ArrayF Source # 

Methods

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

IFoldable Sort ArithmeticF Source # 

Methods

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

IFoldable Sort NegationF Source # 

Methods

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

IFoldable Sort DisjunctionF Source # 

Methods

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

IFoldable Sort ConjunctionF Source # 

Methods

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

IFoldable Sort (EqualityF Sort) Source # 

Methods

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

IFoldable Sort (ExistentialF v) Source # 

Methods

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

IFoldable Sort (UniversalF v) Source # 

Methods

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

IFoldable Sort (VarF (Sort -> *)) Source # 

Methods

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

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

Methods

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