Safe Haskell | None |
---|
- data Acid st
- class HasAcid myState acidState | myState -> acidState where
- getAcidStore :: myState -> Acid acidState
- acidInit :: (IsAcidic st, Typeable st) => st -> SnapletInit b (Acid st)
- acidInit' :: IsAcidic st => FilePath -> st -> SnapletInit b (Acid st)
- getAcidState :: (HasAcid s st, MonadSnaplet m, MonadState s (m b b)) => m b v (AcidState st)
- update :: (HasAcid s (MethodState event), MonadSnaplet m, MonadState s (m b b), UpdateEvent event, MonadIO (m b v)) => event -> m b v (EventResult event)
- query :: (HasAcid s (MethodState event), MonadSnaplet m, MonadState s (m b b), QueryEvent event, MonadIO (m b v)) => event -> m b v (EventResult event)
- createCheckpoint :: (MonadIO (m b v), MonadSnaplet m, MonadState s (m b b), HasAcid s st) => m b v ()
- closeAcidState :: (MonadIO (m b v), MonadSnaplet m, MonadState s (m b b), HasAcid s st) => m b v ()
- module Data.Acid
Documentation
class HasAcid myState acidState | myState -> acidState whereSource
Type class standardizing a context that holds an AcidState.
You can minimize boilerplate in your application by adding an instance like the following:
data App = App { ... _acid :: Snaplet (Acid MyState) ... } instance HasAcid App MyState where getAcidStore = getL (snapletValue . acid)
getAcidStore :: myState -> Acid acidStateSource
:: (IsAcidic st, Typeable st) | |
=> st | Initial state to be used if |
-> SnapletInit b (Acid st) |
Initializer that stores the state in the "state/[typeOf state]/" directory.
:: IsAcidic st | |
=> FilePath | Location of the acid-state store on disk |
-> st | Initial state to be used if |
-> SnapletInit b (Acid st) |
Initializer allowing you to specify the location of the acid-state store.
getAcidState :: (HasAcid s st, MonadSnaplet m, MonadState s (m b b)) => m b v (AcidState st)Source
Lower-level function providing direct access to the AcidState data type.
update :: (HasAcid s (MethodState event), MonadSnaplet m, MonadState s (m b b), UpdateEvent event, MonadIO (m b v)) => event -> m b v (EventResult event)Source
Wrapper for acid-state's update function that works for arbitrary instances of HasAcid.
query :: (HasAcid s (MethodState event), MonadSnaplet m, MonadState s (m b b), QueryEvent event, MonadIO (m b v)) => event -> m b v (EventResult event)Source
Wrapper for acid-state's query function that works for arbitrary instances of HasAcid.
createCheckpoint :: (MonadIO (m b v), MonadSnaplet m, MonadState s (m b b), HasAcid s st) => m b v ()Source
Wrapper for acid-state's createCheckpoint function that works for arbitrary instances of HasAcid.
closeAcidState :: (MonadIO (m b v), MonadSnaplet m, MonadState s (m b b), HasAcid s st) => m b v ()Source
Wrapper for acid-state's closeAcidState function that works for arbitrary instances of HasAcid. The state is automatically closed by the snaplet's unload action, but this is here in case the user needs more control.
module Data.Acid