pandora-0.4.7: A box of patterns and paradigms
Safe HaskellSafe-Inferred
LanguageHaskell2010

Pandora.Paradigm.Structure.Ability.Monotonic

Documentation

class Monotonic a e where Source #

Minimal complete definition

reduce

Methods

reduce :: (a -> r -> r) -> r -> e -> r Source #

resolve :: (a -> r) -> r -> e -> r Source #

Version of reduce which ignores accumulator

Instances

Instances details
Monotonic a a Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Ability.Monotonic

Methods

reduce :: (a -> r -> r) -> r -> a -> r Source #

resolve :: (a -> r) -> r -> a -> r Source #

Monotonic a (Wye a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Wye

Methods

reduce :: (a -> r -> r) -> r -> Wye a -> r Source #

resolve :: (a -> r) -> r -> Wye a -> r Source #

Monotonic a (Maybe a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Maybe

Methods

reduce :: (a -> r -> r) -> r -> Maybe a -> r Source #

resolve :: (a -> r) -> r -> Maybe a -> r Source #

Monotonic a ((t :. Construction t) := a) => Monotonic a (Construction t a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

reduce :: (a -> r -> r) -> r -> Construction t a -> r Source #

resolve :: (a -> r) -> r -> Construction t a -> r Source #

Monotonic a (Vector r a) => Monotonic a (Vector (a :*: r) a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

reduce :: (a -> r0 -> r0) -> r0 -> Vector (a :*: r) a -> r0 Source #

resolve :: (a -> r0) -> r0 -> Vector (a :*: r) a -> r0 Source #

Monotonic a (Vector a a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

reduce :: (a -> r -> r) -> r -> Vector a a -> r Source #

resolve :: (a -> r) -> r -> Vector a a -> r Source #

Monotonic s a => Monotonic s (s :*: a) Source # 
Instance details

Defined in Pandora.Paradigm.Structure

Methods

reduce :: (s -> r -> r) -> r -> (s :*: a) -> r Source #

resolve :: (s -> r) -> r -> (s :*: a) -> r Source #

Monotonic a ((t :. Construction t) := a) => Monotonic a ((t <:.> Construction t) := a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

reduce :: (a -> r -> r) -> r -> ((t <:.> Construction t) := a) -> r Source #

resolve :: (a -> r) -> r -> ((t <:.> Construction t) := a) -> r Source #

Monotonic a (t a) => Monotonic a ((Maybe :. t) := a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Maybe

Methods

reduce :: (a -> r -> r) -> r -> ((Maybe :. t) := a) -> r Source #

resolve :: (a -> r) -> r -> ((Maybe :. t) := a) -> r Source #