monad-memo-0.3.0: Memoization monad transformer

Portabilitynon-portable (multi-param classes, flexible instances)
Stabilityexperimental
Maintainereduard.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 

Fields

toStateT :: StateT c m a
 

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

runMemoState :: MemoState c k v a -> c -> (a, c)Source

evalMemoState :: MemoState c k v a -> c -> aSource