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

Pandora.Paradigm.Inventory

Documentation

zoom :: Stateful bg t => Lens bg ls -> State ls ~> t Source #

magnify :: forall bg ls t. (Accessible ls bg, Stateful bg t) => t ls Source #

(=<>) :: Stateful src t => (src :-. tgt) -> tgt -> t () Source #

(~<>) :: Stateful src t => (src :-. tgt) -> (tgt -> tgt) -> t () Source #

adjust :: forall bg ls t. (Accessible ls bg, Stateful bg t) => (ls -> ls) -> t () Source #

Orphan instances

Adjoint (Store s) (State s) Source # 
Instance details

Methods

(-|) :: a -> (Store s a -> b) -> State s b Source #

(|-) :: Store s a -> (a -> State s b) -> b Source #

phi :: (Store s a -> b) -> a -> State s b Source #

psi :: (a -> State s b) -> Store s a -> b Source #

eta :: a -> (State s :. Store s) := a Source #

epsilon :: ((Store s :. State s) := a) -> a Source #

(-|$) :: Covariant v => v a -> (Store s a -> b) -> v (State s b) Source #

($|-) :: Covariant v => v (Store s a) -> (a -> State s b) -> v b Source #

($$|-) :: (Covariant v, Covariant w) => ((v :. (w :. Store s)) := a) -> (a -> State s b) -> (v :. w) := b Source #

($$$|-) :: (Covariant v, Covariant w, Covariant x) => ((v :. (w :. (x :. Store s))) := a) -> (a -> State s b) -> (v :. (w :. x)) := b Source #

($$$$|-) :: (Covariant v, Covariant w, Covariant x, Covariant y) => ((v :. (w :. (x :. (y :. Store s)))) := a) -> (a -> State s b) -> (v :. (w :. (x :. y))) := b Source #

Adjoint (Equipment e) (Environment e) Source # 
Instance details

Methods

(-|) :: a -> (Equipment e a -> b) -> Environment e b Source #

(|-) :: Equipment e a -> (a -> Environment e b) -> b Source #

phi :: (Equipment e a -> b) -> a -> Environment e b Source #

psi :: (a -> Environment e b) -> Equipment e a -> b Source #

eta :: a -> (Environment e :. Equipment e) := a Source #

epsilon :: ((Equipment e :. Environment e) := a) -> a Source #

(-|$) :: Covariant v => v a -> (Equipment e a -> b) -> v (Environment e b) Source #

($|-) :: Covariant v => v (Equipment e a) -> (a -> Environment e b) -> v b Source #

($$|-) :: (Covariant v, Covariant w) => ((v :. (w :. Equipment e)) := a) -> (a -> Environment e b) -> (v :. w) := b Source #

($$$|-) :: (Covariant v, Covariant w, Covariant x) => ((v :. (w :. (x :. Equipment e))) := a) -> (a -> Environment e b) -> (v :. (w :. x)) := b Source #

($$$$|-) :: (Covariant v, Covariant w, Covariant x, Covariant y) => ((v :. (w :. (x :. (y :. Equipment e)))) := a) -> (a -> Environment e b) -> (v :. (w :. (x :. y))) := b Source #

Adjoint (Accumulator e) (Imprint e) Source # 
Instance details

Methods

(-|) :: a -> (Accumulator e a -> b) -> Imprint e b Source #

(|-) :: Accumulator e a -> (a -> Imprint e b) -> b Source #

phi :: (Accumulator e a -> b) -> a -> Imprint e b Source #

psi :: (a -> Imprint e b) -> Accumulator e a -> b Source #

eta :: a -> (Imprint e :. Accumulator e) := a Source #

epsilon :: ((Accumulator e :. Imprint e) := a) -> a Source #

(-|$) :: Covariant v => v a -> (Accumulator e a -> b) -> v (Imprint e b) Source #

($|-) :: Covariant v => v (Accumulator e a) -> (a -> Imprint e b) -> v b Source #

($$|-) :: (Covariant v, Covariant w) => ((v :. (w :. Accumulator e)) := a) -> (a -> Imprint e b) -> (v :. w) := b Source #

($$$|-) :: (Covariant v, Covariant w, Covariant x) => ((v :. (w :. (x :. Accumulator e))) := a) -> (a -> Imprint e b) -> (v :. (w :. x)) := b Source #

($$$$|-) :: (Covariant v, Covariant w, Covariant x, Covariant y) => ((v :. (w :. (x :. (y :. Accumulator e)))) := a) -> (a -> Imprint e b) -> (v :. (w :. (x :. y))) := b Source #