Portability | non-portable (multi-param classes, flexible instances) |
---|---|
Stability | experimental |
Maintainer | eduard.sergeev@gmail.com |
Defines MemoStateT - generalized (to any Data.MapLike content) memoization monad transformer
Documentation
newtype MemoStateT c k v m a Source
(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