pandora-0.1.5: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Paradigm.Inventory.Stateful

Documentation

newtype Stateful s t a Source #

Constructors

Stateful 

Fields

Instances
Liftable (Stateful s) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Stateful

Methods

lift :: Covariant u => u ~> Stateful s u Source #

Covariant t => Covariant (Stateful s t) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Stateful

Methods

(<$>) :: (a -> b) -> Stateful s t a -> Stateful s t b Source #

comap :: (a -> b) -> Stateful s t a -> Stateful s t b Source #

(<$) :: a -> Stateful s t b -> Stateful s t a Source #

($>) :: Stateful s t a -> b -> Stateful s t b Source #

void :: Stateful s t a -> Stateful s t () Source #

loeb :: Stateful s t (Stateful s t a -> a) -> Stateful s t a Source #

(<$$>) :: Covariant u => (a -> b) -> Stateful s t (u a) -> Stateful s t (u b) Source #

(<$$$>) :: (Covariant u, Covariant v) => (a -> b) -> Stateful s t (u (v a)) -> Stateful s t (u (v b)) Source #

(<$$$$>) :: (Covariant u, Covariant v, Covariant w) => (a -> b) -> Stateful s t (u (v (w a))) -> Stateful s t (u (v (w b))) Source #

(<&>) :: Stateful s t a -> (a -> b) -> Stateful s t b Source #

Bindable t => Applicative (Stateful s t) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Stateful

Methods

(<*>) :: Stateful s t (a -> b) -> Stateful s t a -> Stateful s t b Source #

apply :: Stateful s t (a -> b) -> Stateful s t a -> Stateful s t b Source #

(*>) :: Stateful s t a -> Stateful s t b -> Stateful s t b Source #

(<*) :: Stateful s t a -> Stateful s t b -> Stateful s t a Source #

forever :: Stateful s t a -> Stateful s t b Source #

Bindable t => Bindable (Stateful s t) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Stateful

Methods

(>>=) :: Stateful s t a -> (a -> Stateful s t b) -> Stateful s t b Source #

(=<<) :: (a -> Stateful s t b) -> Stateful s t a -> Stateful s t b Source #

bind :: (a -> Stateful s t b) -> Stateful s t a -> Stateful s t b Source #

join :: (Stateful s t :.: Stateful s t) a -> Stateful s t a Source #

(>=>) :: (a -> Stateful s t b) -> (b -> Stateful s t c) -> a -> Stateful s t c Source #

(<=<) :: (b -> Stateful s t c) -> (a -> Stateful s t b) -> a -> Stateful s t c Source #

Pointable t => Pointable (Stateful s t) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Stateful

Methods

point :: a -> Stateful s t a Source #

Monad t => Monad (Stateful s t) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Stateful

get :: Pointable t => Stateful s t s Source #

modify :: Pointable t => (s -> s) -> Stateful s t () Source #

put :: Pointable t => s -> Stateful s t () Source #

fold :: Traversable t => s -> (a -> s -> s) -> t a -> s Source #

find :: (Pointable u, Avoidable u, Alternative u, Traversable t) => Predicate a -> t a -> u a Source #