Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- runKVStoreAsKVStore :: forall k v k' v' r a. (k -> k') -> (v -> v') -> (v' -> v) -> Sem (KVStore k v ': r) a -> Sem (KVStore k' v' ': r) a
- runKVStoreAsKVStoreSem :: forall k v k' v' r a. Members '[KVStore k' v'] r => (k -> Sem r k') -> (v -> Sem r v') -> (v' -> Sem r v) -> Sem (KVStore k v ': r) a -> Sem r a
- runOutputMapAsKVStore :: Members '[KVStore k v] r => Sem (Output (Map k v) ': r) a -> Sem r a
- mapOutput :: Members '[Output o'] r => (o -> o') -> Sem (Output o ': r) a -> Sem r a
- mapOutputSem :: Members '[Output o'] r => (o -> Sem r o') -> Sem (Output o ': r) a -> Sem r a
- contramapInput :: forall i i' r a. Members '[Input i'] r => (i' -> i) -> Sem (Input i ': r) a -> Sem r a
- contramapInputSem :: forall i i' r a. Members '[Input i'] r => (i' -> Sem r i) -> Sem (Input i ': r) a -> Sem r a
Documentation
runKVStoreAsKVStore :: forall k v k' v' r a. (k -> k') -> (v -> v') -> (v' -> v) -> Sem (KVStore k v ': r) a -> Sem (KVStore k' v' ': r) a Source #
Run a KVStore in terms of another KVStore by way of pure key and value transformations.
runKVStoreAsKVStoreSem :: forall k v k' v' r a. Members '[KVStore k' v'] r => (k -> Sem r k') -> (v -> Sem r v') -> (v' -> Sem r v) -> Sem (KVStore k v ': r) a -> Sem r a Source #
Run a KVStore in terms of another KVStore by way of transforming the keys and values with Sem functions.
runOutputMapAsKVStore :: Members '[KVStore k v] r => Sem (Output (Map k v) ': r) a -> Sem r a Source #
Run an `Output (Map k v)` as a KVStore
by writing the values to
the keys.
mapOutput :: Members '[Output o'] r => (o -> o') -> Sem (Output o ': r) a -> Sem r a Source #
Map an Output forwards
mapOutputSem :: Members '[Output o'] r => (o -> Sem r o') -> Sem (Output o ': r) a -> Sem r a Source #
Map an Output forwards through a monadic function.