pandora-0.5.5: 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 o (o :+: a) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Ability.Monotonic

Methods

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

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

Monotonic a (o :+: a) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Ability.Monotonic

Methods

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

resolve :: (a -> r) -> r -> (o :+: 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 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 #