State +Control.Monad.Trans -mtl

module Control.Monad.Trans.State
transformers Control.Monad.Trans.State
State monads, passing an updatable state through a computation. Some computations may not require the full power of state transformers: * For a read-only state, see Control.Monad.Trans.Reader. * To accumulate a value without using it on the way, see Control.Monad.Trans.Writer. This version is lazy; for a strict version, see Control.Monad.Trans.State.Strict, which has the same interface.
type State s = StateT s Identity
transformers Control.Monad.Trans.State.Lazy, transformers Control.Monad.Trans.State.Strict, mtl Control.Monad.State.Lazy, mtl Control.Monad.State.Strict
A state monad parameterized by the type s of the state to carry. The return function leaves the state unchanged, while >>= uses the final state of the first computation as the initial state of the second.
state :: (Monoid w, Monad m) => (s -> (a, s)) -> RWST r w s m a
transformers Control.Monad.Trans.RWS.Lazy, transformers Control.Monad.Trans.RWS.Strict
Construct a state monad computation from a state transformer function.
state :: Monad m => (s -> (a, s)) -> StateT s m a
transformers Control.Monad.Trans.State.Lazy, transformers Control.Monad.Trans.State.Strict
Construct a state monad computation from a function. (The inverse of runState.)
package state
package
Data.State Version 0.1
package state-record
package
This package provides a Template Haskell function which transforms a normal record declaration into one which supports many useful operations when used as the state in a State monad. Version 0.0.1
package statechart
package
TODO Version 0.1.0
package stateful-mtl
package
A MonadST type class, instances, and some helpful monad functions. Version 1.0.7
package stateref
package
A collection of type-classes generalizing the read/write/modify operations for stateful variables provided by things like IORef, TVar, &c. Note that The interface has changed a bit from the 0.2.* version.  "*Ref" functions are now called "*Reference" and new "*Ref" function exist with simpler signatures. The new Ref existential type provides a convenient monad-indexed reference type, and the HasRef class indicates monads for which there is a default reference type for every referent. Version 0.3
package statestack
package
Simple State-like monad transformer where states can be saved to and restored from an internal stack. Version 0.1.1
StateT :: (s -> m (a, s)) -> StateT s m a
transformers Control.Monad.Trans.State.Lazy, transformers Control.Monad.Trans.State.Strict
newtype StateT s m a
transformers Control.Monad.Trans.State.Lazy, transformers Control.Monad.Trans.State.Strict
A state transformer monad parameterized by: * s - The state. * m - The inner monad. The return function leaves the state unchanged, while >>= uses the final state of the first computation as the initial state of the second.
package statethread
package
The ST monad and STRefs in a portable form. This package implements state threads as wrapper around IO and IORefs. Your compiler must support rank-2-types, IORefs, unsafePerformIO and unsafeInterleaveIO. The package can be used as drop-in replacement for the st package. Version 0.1.1
package StateVar
package
This package contains state variables, which are references in the IO monad, like IORefs or parts of the OpenGL state. Version 1.0.0.0
package acid-state
package
Use regular Haskell data structures as your database and get stronger ACID guarantees than most RDBMS offer. Version 0.6.3
package binary-state
package
This package declares BinaryState type class, which is similar to Data.Binary.Binary, but Get/Put monads can track state. Version 0.1.1
evalState :: State s a -> s -> a
transformers Control.Monad.Trans.State.Lazy, transformers Control.Monad.Trans.State.Strict, mtl Control.Monad.State.Lazy, mtl Control.Monad.State.Strict
Evaluate a state computation with the given initial state and return the final value, discarding the final state. *  m s = fst (runState m >  
evalStateT :: Monad m => StateT s m a -> s -> m a
transformers Control.Monad.Trans.State.Lazy, transformers Control.Monad.Trans.State.Strict, mtl Control.Monad.State.Lazy, mtl Control.Monad.State.Strict
Evaluate a state computation with the given initial state and return the final value, discarding the final state. *  m s = liftM fst > (runStateT m  
execState :: State s a -> s -> s
transformers Control.Monad.Trans.State.Lazy, transformers Control.Monad.Trans.State.Strict, mtl Control.Monad.State.Lazy, mtl Control.Monad.State.Strict
Evaluate a state computation with the given initial state and return the final state, discarding the final value. *  m s = snd (runState m >  
execStateT :: Monad m => StateT s m a -> s -> m s
transformers Control.Monad.Trans.State.Lazy, transformers Control.Monad.Trans.State.Strict, mtl Control.Monad.State.Lazy, mtl Control.Monad.State.Strict
Evaluate a state computation with the given initial state and return the final state, discarding the final value. *  m s = liftM snd > (runStateT m  

Show more results