Control.Monad.Trans.Memo.Strict
Documentation
Instances
| (Monad m, Ord k) => MonadMemo k v (MemoT k v m) | |
| (Monad m, Ord k) => MonadCache k v (MemoT k v m) | |
| MonadTrans (MemoT k v) | |
| Monad m => Monad (MemoT k v m) | |
| Functor m => Functor (MemoT k v m) | |
| MonadFix m => MonadFix (MemoT k v m) | |
| MonadPlus m => MonadPlus (MemoT k v m) | |
| (Functor m, Monad m) => Applicative (MemoT k v m) | |
| (Functor m, MonadPlus m) => Alternative (MemoT k v m) | |
| MonadIO m => MonadIO (MemoT k v m) |
startRunMemoT :: MemoT k v m a -> m (a, Map k v)Source
startEvalMemoT :: Monad m => MemoT k v m a -> m aSource
startRunMemo :: Memo k v a -> (a, Map k v)Source
startEvalMemo :: Memo k v a -> aSource