monad-memo-0.3.0: Memoization monad transformer

Portabilitynon-portable (multi-param classes, functional dependencies)
Stabilityexperimental
Maintainereduard.sergeev@gmail.com

Control.Monad.Trans.Memo.Map

Description

MemoT as a specialization of MemoStateT with Data.Map as a container

Documentation

type MemoT k v = MemoStateT (Map k v) k vSource

runMemoT :: MemoT k v m a -> Map k v -> m (a, Map k v)Source

evalMemoT :: Monad m => MemoT k v m a -> Map k v -> m aSource

startRunMemoT :: Monad m => MemoT k v m a -> m (a, Map k v)Source

startEvalMemoT :: Monad m => MemoT k v m a -> m aSource

type Memo k v = MemoT k v IdentitySource

runMemo :: Memo k v a -> Map k v -> (a, Map k v)Source

evalMemo :: Memo k v a -> Map k v -> aSource

startRunMemo :: Memo k v a -> (a, Map k v)Source