polysemy-zoo-0.1.1.0: Experimental, user-contributed effects and interpreters for polysemy

Safe HaskellNone
LanguageHaskell2010

Polysemy.KVStore

Contents

Synopsis

Effect

data KVStore k v m a where Source #

Models things like Redis, HTTP GET/POST, etc. Things that are keyed, have a value, and may or may not be there.

Constructors

LookupKV :: k -> KVStore k v m (Maybe v) 
UpdateKV :: k -> Maybe v -> KVStore k v m () 
Instances
type DefiningModule (KVStore :: Type -> Type -> k -> Type -> Type) Source # 
Instance details

Defined in Polysemy.KVStore

type DefiningModule (KVStore :: Type -> Type -> k -> Type -> Type) = "Polysemy.KVStore"

Actions

lookupKV :: forall k v. forall r. Member (KVStore k v) r => k -> Sem r (Maybe v) Source #

writeKV :: Member (KVStore k v) r => k -> v -> Sem r () Source #

deleteKV :: Member (KVStore k v) r => k -> Sem r () Source #

updateKV :: forall k v. forall r. Member (KVStore k v) r => k -> Maybe v -> Sem r () Source #

Interpretations

runKVStoreAsState :: Ord k => Sem (KVStore k v ': r) a -> Sem (State (Map k v) ': r) a Source #

runKVStorePurely :: Ord k => Map k v -> Sem (KVStore k v ': r) a -> Sem r (Map k v, a) Source #