Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- newtype State s a = State (((->) s :. (:*:) s) := a)
- type Stateful s = Adaptable (State s)
- current :: Stateful s t => t s
- modify :: Stateful s t => (s -> s) -> t s
- replace :: Stateful s t => s -> t s
- reconcile :: (Bindable t, Stateful s t, Adaptable u t) => (s -> u s) -> t s
- type Memorable s t = (Pointable t, Applicative t, Stateful s t)
- fold :: (Traversable t, Memorable s u) => (a -> s -> s) -> t a -> u s
Documentation
Effectful computation with a variable
Instances
Covariant (State s) Source # | |
Defined in Pandora.Paradigm.Inventory.State (<$>) :: (a -> b) -> State s a -> State s b Source # comap :: (a -> b) -> State s a -> State s b Source # (<$) :: a -> State s b -> State s a Source # ($>) :: State s a -> b -> State s b Source # void :: State s a -> State s () Source # loeb :: State s (a <:= State s) -> State s a Source # (<&>) :: State s a -> (a -> b) -> State s b Source # (<$$>) :: Covariant u => (a -> b) -> ((State s :. u) := a) -> (State s :. u) := b Source # (<$$$>) :: (Covariant u, Covariant v) => (a -> b) -> ((State s :. (u :. v)) := a) -> (State s :. (u :. v)) := b Source # (<$$$$>) :: (Covariant u, Covariant v, Covariant w) => (a -> b) -> ((State s :. (u :. (v :. w))) := a) -> (State s :. (u :. (v :. w))) := b Source # (<&&>) :: Covariant u => ((State s :. u) := a) -> (a -> b) -> (State s :. u) := b Source # (<&&&>) :: (Covariant u, Covariant v) => ((State s :. (u :. v)) := a) -> (a -> b) -> (State s :. (u :. v)) := b Source # (<&&&&>) :: (Covariant u, Covariant v, Covariant w) => ((State s :. (u :. (v :. w))) := a) -> (a -> b) -> (State s :. (u :. (v :. w))) := b Source # | |
Bindable (State s) Source # | |
Defined in Pandora.Paradigm.Inventory.State (>>=) :: State s a -> (a -> State s b) -> State s b Source # (=<<) :: (a -> State s b) -> State s a -> State s b Source # bind :: (a -> State s b) -> State s a -> State s b Source # join :: ((State s :. State s) := a) -> State s a Source # (>=>) :: (a -> State s b) -> (b -> State s c) -> a -> State s c Source # (<=<) :: (b -> State s c) -> (a -> State s b) -> a -> State s c Source # ($>>=) :: Covariant u => ((u :. State s) := a) -> (a -> State s b) -> (u :. State s) := b Source # | |
Applicative (State s) Source # | |
Defined in Pandora.Paradigm.Inventory.State (<*>) :: State s (a -> b) -> State s a -> State s b Source # apply :: State s (a -> b) -> State s a -> State s b Source # (*>) :: State s a -> State s b -> State s b Source # (<*) :: State s a -> State s b -> State s a Source # forever :: State s a -> State s b Source # (<%>) :: State s a -> State s (a -> b) -> State s b Source # (<**>) :: Applicative u => ((State s :. u) := (a -> b)) -> ((State s :. u) := a) -> (State s :. u) := b Source # (<***>) :: (Applicative u, Applicative v) => ((State s :. (u :. v)) := (a -> b)) -> ((State s :. (u :. v)) := a) -> (State s :. (u :. v)) := b Source # (<****>) :: (Applicative u, Applicative v, Applicative w) => ((State s :. (u :. (v :. w))) := (a -> b)) -> ((State s :. (u :. (v :. w))) := a) -> (State s :. (u :. (v :. w))) := b Source # | |
Pointable (State s) Source # | |
Monad (State s) Source # | |
Interpreted (State s) Source # | |
Defined in Pandora.Paradigm.Inventory.State | |
Monadic (State s) Source # | |
Adjoint (Store s) (State s) 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 # (-|$) :: 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 # | |
type Schematic Monad (State s) Source # | |
type Primary (State s) a Source # | |
fold :: (Traversable t, Memorable s u) => (a -> s -> s) -> t a -> u s Source #