Copyright | disco team and contributors |
---|---|
License | BSD-3-Clause |
Maintainer | byorgey@gmail.com |
Safe Haskell | None |
Language | Haskell2010 |
Polysemy effect for a memory store with integer keys.
Synopsis
- data Store v m a where
- ClearStore :: Store v m ()
- New :: v -> Store v m Int
- LookupStore :: Int -> Store v m (Maybe v)
- InsertStore :: Int -> v -> Store v m ()
- MapStore :: (v -> v) -> Store v m ()
- AssocsStore :: Store v m [(Int, v)]
- KeepKeys :: IntSet -> Store v m ()
- keepKeys :: forall v r. Member (Store v) r => IntSet -> Sem r ()
- assocsStore :: forall v r. Member (Store v) r => Sem r [(Int, v)]
- mapStore :: forall v r. Member (Store v) r => (v -> v) -> Sem r ()
- insertStore :: forall v r. Member (Store v) r => Int -> v -> Sem r ()
- lookupStore :: forall v r. Member (Store v) r => Int -> Sem r (Maybe v)
- new :: forall v r. Member (Store v) r => v -> Sem r Int
- clearStore :: forall v r. Member (Store v) r => Sem r ()
- runStore :: forall v r a. Sem (Store v ': r) a -> Sem r a