pandora-0.2.0: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Paradigm.Inventory.Storage

Documentation

newtype Storage p a Source #

Constructors

Storage 

Fields

Instances
Covariant (Storage p) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Storage

Methods

(<$>) :: (a -> b) -> Storage p a -> Storage p b Source #

comap :: (a -> b) -> Storage p a -> Storage p b Source #

(<$) :: a -> Storage p b -> Storage p a Source #

($>) :: Storage p a -> b -> Storage p b Source #

void :: Storage p a -> Storage p () Source #

loeb :: Storage p (Storage p a -> a) -> Storage p a Source #

(<&>) :: Storage p a -> (a -> b) -> Storage p b Source #

(<$$>) :: Covariant u => (a -> b) -> ((Storage p :. u) > a) -> (Storage p :. u) > b Source #

(<$$$>) :: (Covariant u, Covariant v) => (a -> b) -> ((Storage p :. (u :. v)) > a) -> (Storage p :. (u :. v)) > b Source #

(<$$$$>) :: (Covariant u, Covariant v, Covariant w) => (a -> b) -> ((Storage p :. (u :. (v :. w))) > a) -> (Storage p :. (u :. (v :. w))) > b Source #

(<&&>) :: Covariant u => ((Storage p :. u) > a) -> (a -> b) -> (Storage p :. u) > b Source #

(<&&&>) :: (Covariant u, Covariant v) => ((Storage p :. (u :. v)) > a) -> (a -> b) -> (Storage p :. (u :. v)) > b Source #

(<&&&&>) :: (Covariant u, Covariant v, Covariant w) => ((Storage p :. (u :. (v :. w))) > a) -> (a -> b) -> (Storage p :. (u :. (v :. w))) > b Source #

Extendable (Storage p) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Storage

Methods

(=>>) :: Storage p a -> (Storage p a -> b) -> Storage p b Source #

(<<=) :: (Storage p a -> b) -> Storage p a -> Storage p b Source #

extend :: (Storage p a -> b) -> Storage p a -> Storage p b Source #

duplicate :: Storage p a -> (Storage p :. Storage p) > a Source #

(=<=) :: (Storage p b -> c) -> (Storage p a -> b) -> Storage p a -> c Source #

(=>=) :: (Storage p a -> b) -> (Storage p b -> c) -> Storage p a -> c Source #

Extractable (Storage p) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Storage

Methods

extract :: Storage p a -> a Source #

Comonad (Storage p) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Storage

Adjoint (Storage s) (Stateful s) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Optics

Methods

(-|) :: a -> (Storage s a -> b) -> Stateful s b Source #

(|-) :: Storage s a -> (a -> Stateful s b) -> b Source #

phi :: (Storage s a -> b) -> a -> Stateful s b Source #

psi :: (a -> Stateful s b) -> Storage s a -> b Source #

eta :: a -> (Stateful s :. Storage s) > a Source #

epsilon :: ((Storage s :. Stateful s) > a) -> a Source #

position :: Storage p a -> p Source #

access :: p -> Storage p a -> a Source #

retrofit :: (p -> p) -> Storage p a -> Storage p a Source #