| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Haxl.Core.StateStore
Description
Most users should import Haxl.Core instead of importing this module directly.
- class Typeable f => StateKey (f :: * -> *) where
- data State f
- data StateStore
- stateGet :: forall r. StateKey r => StateStore -> Maybe (State r)
- stateSet :: forall f. StateKey f => State f -> StateStore -> StateStore
- stateEmpty :: StateStore
Documentation
class Typeable f => StateKey (f :: * -> *) where Source #
StateKey maps one type to another type. A type that is an
instance of StateKey can store and retrieve information from a
StateStore.
Methods
getStateType :: Proxy f -> TypeRep Source #
We default this to typeOf1, but if f is itself a complex type that is already applied to some paramaters, we want to be able to use the same state by using typeOf2, etc
data StateStore Source #
The StateStore maps a StateKey to the State for that type.
stateGet :: forall r. StateKey r => StateStore -> Maybe (State r) Source #
Retrieves a State from the StateStore container.
stateSet :: forall f. StateKey f => State f -> StateStore -> StateStore Source #
Inserts a State in the StateStore container.
stateEmpty :: StateStore Source #
A StateStore with no entries.