pandora-0.2.8: A box of patterns and paradigms
Pandora.Paradigm.Inventory.Store
Contents
newtype Store p a Source #
Constructors
Defined in Pandora.Paradigm.Inventory.Store
Associated Types
type Primary (Store p) a :: Type Source #
Methods
run :: Store p a -> Primary (Store p) a Source #
(<$>) :: (a -> b) -> Store p a -> Store p b Source #
comap :: (a -> b) -> Store p a -> Store p b Source #
(<$) :: a -> Store p b -> Store p a Source #
($>) :: Store p a -> b -> Store p b Source #
void :: Store p a -> Store p () Source #
loeb :: Store p (a <-| Store p) -> Store p a Source #
(<&>) :: Store p a -> (a -> b) -> Store p b Source #
(<$$>) :: Covariant u => (a -> b) -> ((Store p :. u) := a) -> (Store p :. u) := b Source #
(<$$$>) :: (Covariant u, Covariant v) => (a -> b) -> ((Store p :. (u :. v)) := a) -> (Store p :. (u :. v)) := b Source #
(<$$$$>) :: (Covariant u, Covariant v, Covariant w) => (a -> b) -> ((Store p :. (u :. (v :. w))) := a) -> (Store p :. (u :. (v :. w))) := b Source #
(<&&>) :: Covariant u => ((Store p :. u) := a) -> (a -> b) -> (Store p :. u) := b Source #
(<&&&>) :: (Covariant u, Covariant v) => ((Store p :. (u :. v)) := a) -> (a -> b) -> (Store p :. (u :. v)) := b Source #
(<&&&&>) :: (Covariant u, Covariant v, Covariant w) => ((Store p :. (u :. (v :. w))) := a) -> (a -> b) -> (Store p :. (u :. (v :. w))) := b Source #
(=>>) :: Store p a -> (Store p a -> b) -> Store p b Source #
(<<=) :: (Store p a -> b) -> Store p a -> Store p b Source #
extend :: (Store p a -> b) -> Store p a -> Store p b Source #
duplicate :: Store p a -> (Store p :. Store p) := a Source #
(=<=) :: (Store p b -> c) -> (Store p a -> b) -> Store p a -> c Source #
(=>=) :: (Store p a -> b) -> (Store p b -> c) -> Store p a -> c Source #
extract :: a <-| Store p Source #
flick :: Covariant u => (Store p :< u) ~> u Source #
bring :: Extractable u => (Store p :< u) ~> Store p Source #
Defined in Pandora.Paradigm.Inventory
(-|) :: 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 #
type Storable s x = Adaptable x (Store s) Source #
position :: Storable s t => t a -> s Source #
access :: Storable s t => s -> a <-| t Source #
retrofit :: (p -> p) -> Store p ~> Store p Source #
(<$>) :: (a -> b) -> TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u a -> TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u b Source #
comap :: (a -> b) -> TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u a -> TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u b Source #
(<$) :: a -> TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u b -> TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u a Source #
($>) :: TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u a -> b -> TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u b Source #
void :: TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u a -> TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u () Source #
loeb :: TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u (a <-| TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u) -> TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u a Source #
(<&>) :: TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u a -> (a -> b) -> TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u b Source #
(<$$>) :: Covariant u0 => (a -> b) -> ((TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u :. u0) := a) -> (TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u :. u0) := b Source #
(<$$$>) :: (Covariant u0, Covariant v) => (a -> b) -> ((TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u :. (u0 :. v)) := a) -> (TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u :. (u0 :. v)) := b Source #
(<$$$$>) :: (Covariant u0, Covariant v, Covariant w) => (a -> b) -> ((TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u :. (u0 :. (v :. w))) := a) -> (TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u :. (u0 :. (v :. w))) := b Source #
(<&&>) :: Covariant u0 => ((TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u :. u0) := a) -> (a -> b) -> (TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u :. u0) := b Source #
(<&&&>) :: (Covariant u0, Covariant v) => ((TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u :. (u0 :. v)) := a) -> (a -> b) -> (TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u :. (u0 :. v)) := b Source #
(<&&&&>) :: (Covariant u0, Covariant v, Covariant w) => ((TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u :. (u0 :. (v :. w))) := a) -> (a -> b) -> (TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u :. (u0 :. (v :. w))) := b Source #
(=>>) :: TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u a -> (TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u a -> b) -> TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u b Source #
(<<=) :: (TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u a -> b) -> TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u a -> TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u b Source #
extend :: (TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u a -> b) -> TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u a -> TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u b Source #
duplicate :: TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u a -> (TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u :. TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u) := a Source #
(=<=) :: (TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u b -> c) -> (TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u a -> b) -> TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u a -> c Source #
(=>=) :: (TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u a -> b) -> (TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u b -> c) -> TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u a -> c Source #
extract :: a <-| TUT Covariant Covariant Covariant ((:*:) p) ((->) p) u Source #