comonad-5.0.3: Comonads

Copyright(C) 2008-2012 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilitynon-portable (fundeps, MPTCs)
Safe HaskellSafe
LanguageHaskell2010

Control.Comonad.Store.Class

Description

 

Documentation

class Comonad w => ComonadStore s w | w -> s where Source #

Minimal complete definition

pos, peek

Methods

pos :: w a -> s Source #

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

(ComonadStore s w, Monoid m) => ComonadStore s (TracedT m w) Source # 

Methods

pos :: TracedT m w a -> s Source #

peek :: s -> TracedT m w a -> a Source #

peeks :: (s -> s) -> TracedT m w a -> a Source #

seek :: s -> TracedT m w a -> TracedT m w a Source #

seeks :: (s -> s) -> TracedT m w a -> TracedT m w a Source #

experiment :: Functor f => (s -> f s) -> TracedT m w a -> f a Source #

ComonadStore s w => ComonadStore s (EnvT e w) Source # 

Methods

pos :: EnvT e w a -> s Source #

peek :: s -> EnvT e w a -> a Source #

peeks :: (s -> s) -> EnvT e w a -> a Source #

seek :: s -> EnvT e w a -> EnvT e w a Source #

seeks :: (s -> s) -> EnvT e w a -> EnvT e w a Source #

experiment :: Functor f => (s -> f s) -> EnvT e w a -> f a Source #

ComonadStore s w => ComonadStore s (IdentityT * w) Source # 

Methods

pos :: IdentityT * w a -> s Source #

peek :: s -> IdentityT * w a -> a Source #

peeks :: (s -> s) -> IdentityT * w a -> a Source #

seek :: s -> IdentityT * w a -> IdentityT * w a Source #

seeks :: (s -> s) -> IdentityT * w a -> IdentityT * w a Source #

experiment :: Functor f => (s -> f s) -> IdentityT * w a -> f a Source #

Comonad w => ComonadStore s (StoreT s w) Source # 

Methods

pos :: StoreT s w a -> s Source #

peek :: s -> StoreT s w a -> a Source #

peeks :: (s -> s) -> StoreT s w a -> a Source #

seek :: s -> StoreT s w a -> StoreT s w a Source #

seeks :: (s -> s) -> StoreT s w a -> StoreT s w a Source #

experiment :: Functor f => (s -> f s) -> StoreT s w a -> f a Source #

lowerPos :: (ComonadTrans t, ComonadStore s w) => t w a -> s Source #

lowerPeek :: (ComonadTrans t, ComonadStore s w) => s -> t w a -> a Source #