| Copyright | (C) 2008-2014 Edward Kmett | 
|---|---|
| License | BSD-style (see the file LICENSE) | 
| Maintainer | Edward Kmett <[email protected]> | 
| Stability | experimental | 
| Portability | non-portable (fundeps, MPTCs) | 
| Safe Haskell | Safe | 
| Language | Haskell2010 | 
Control.Comonad.Store
Description
Synopsis
- class Comonad w => ComonadStore s w | w -> s where
 - type Store s = StoreT s Identity
 - store :: (s -> a) -> s -> Store s a
 - runStore :: Store s a -> (s -> a, s)
 - data StoreT s w a = StoreT (w (s -> a)) s
 - runStoreT :: StoreT s w a -> (w (s -> a), s)
 - module Control.Comonad
 - module Control.Comonad.Trans.Class
 
ComonadStore class
class Comonad w => ComonadStore s w | w -> s where Source #
Methods
peek :: s -> w a -> a Source #
peeks :: (s -> s) -> w a -> a Source #
seek :: s -> w a -> w a Source #
seeks :: (s -> s) -> w a -> w a Source #
experiment :: Functor f => (s -> f s) -> w a -> f a Source #
Instances
The Store comonad
store :: (s -> a) -> s -> Store s a Source #
Create a Store using an accessor function and a stored value
The StoreT comonad transformer
Constructors
| StoreT (w (s -> a)) s | 
Instances
Re-exported modules
module Control.Comonad
module Control.Comonad.Trans.Class