Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
MemoMap
Contents
Synopsis
- data MemoMap m a b = MemoMap {
- cacheRef :: IORef (Map a b)
- uncachedFunction :: a -> m b
- newMemoMap :: forall a b m1 m2. MonadIO m1 => (a -> m2 b) -> m1 (MemoMap m2 a b)
- runMemoMap :: forall a b m. (MonadUnliftIO m, Ord a) => MemoMap m a b -> a -> m b
- getMemoMap :: MonadIO m => MemoMap m a b -> m (Map a b)
- memoize :: forall a b m1 m2. (MonadIO m1, MonadUnliftIO m2, Ord a) => (a -> m2 b) -> m1 (a -> m2 b)
MemoMap type
Create with newMemoMap
, use with runMemoMap
Constructors
MemoMap | |
Fields
|
newMemoMap :: forall a b m1 m2. MonadIO m1 => (a -> m2 b) -> m1 (MemoMap m2 a b) Source #
runMemoMap :: forall a b m. (MonadUnliftIO m, Ord a) => MemoMap m a b -> a -> m b Source #