Module
Control.Comonad.Store.Class
- Package
- purescript-transformers
- Repository
- purescript/purescript-transformers
This module defines the ComonadStore
type class and its instances.
#ComonadStore Source
class (Comonad w) <= ComonadStore s w | w -> s where
The ComonadStore
type class represents those monads which support local position information via
pos
and peek
.
pos
reads the current position.peek
reads the value at the specified position in the specified context.
An implementation is provided for StoreT
.
Laws:
pos (extend _ x) = pos x
peek (pos x) x = extract x
For example:
blur :: forall w. (ComonadStore Number w) -> w Number -> w Number
blur = extend \r -> (peeks (\n -> n - 1) r + peeks (\n -> n + 1) r) / 2)
Members
Instances
(Comonad w) => ComonadStore s (StoreT s w)
#experiment Source
experiment :: forall s w a f. ComonadStore s w => Functor f => (s -> f s) -> w a -> f a
Extract a collection of values from positions which depend on the current position.
#peeks Source
peeks :: forall w a s. ComonadStore s w => (s -> s) -> w a -> a
Extract a value from a position which depends on the current position.
#seek Source
seek :: forall w a s. ComonadStore s w => s -> w a -> w a
Reposition the focus at the specified position.
#seeks Source
seeks :: forall w a s. ComonadStore s w => (s -> s) -> w a -> w a
Reposition the focus at the specified position, which depends on the current position.
- Modules
- Control.
Comonad. Env - Control.
Comonad. Env. Class - Control.
Comonad. Env. Trans - Control.
Comonad. Store - Control.
Comonad. Store. Class - Control.
Comonad. Store. Trans - Control.
Comonad. Traced - Control.
Comonad. Traced. Class - Control.
Comonad. Traced. Trans - Control.
Comonad. Trans. Class - Control.
Monad. Cont - Control.
Monad. Cont. Class - Control.
Monad. Cont. Trans - Control.
Monad. Error. Class - Control.
Monad. Except - Control.
Monad. Except. Trans - Control.
Monad. List. Trans - Control.
Monad. Maybe. Trans - Control.
Monad. RWS - Control.
Monad. RWS. Trans - Control.
Monad. Reader - Control.
Monad. Reader. Class - Control.
Monad. Reader. Trans - Control.
Monad. State - Control.
Monad. State. Class - Control.
Monad. State. Trans - Control.
Monad. Trans. Class - Control.
Monad. Writer - Control.
Monad. Writer. Class - Control.
Monad. Writer. Trans