| Portability | non-portable (multi-param classes, flexible instances) |
|---|---|
| Stability | experimental |
| Maintainer | eduard.sergeev@gmail.com |
Control.Monad.Trans.Memo.State
Description
Defines MemoStateT - generalized (to any Data.MapLike content) memoization monad transformer
Documentation
newtype MemoStateT c k v m a Source
Constructors
| MemoStateT | |
Instances
| (Monad m, MapLike c k v) => MonadMemo k v (MemoStateT c k v m) | |
| (Monad m, MapLike c k v) => MonadCache k v (MemoStateT c k v m) | |
| MonadTrans (MemoStateT l k v) | |
| Monad m => Monad (MemoStateT l k v m) | |
| Functor m => Functor (MemoStateT c k v m) | |
| MonadFix m => MonadFix (MemoStateT l k v m) | |
| MonadPlus m => MonadPlus (MemoStateT l k v m) | |
| (Functor m, Monad m) => Applicative (MemoStateT c k v m) | |
| (Functor m, MonadPlus m) => Alternative (MemoStateT l k v m) | |
| MonadIO m => MonadIO (MemoStateT l k v m) |
runMemoStateT :: MemoStateT c k v m a -> c -> m (a, c)Source
evalMemoStateT :: Monad m => MemoStateT c k v m a -> c -> m aSource
type MemoState c k v = MemoStateT c k v IdentitySource
runMemoState :: MemoState c k v a -> c -> (a, c)Source
evalMemoState :: MemoState c k v a -> c -> aSource