Safe Haskell | None |
---|---|
Language | Haskell98 |
Documentation
mmap :: (FMonadT t, MonadInfoT t, Monad m, Monad n, MonadInfo m) => (forall x. m x -> n x) -> t m a -> t n a Source #
Eval | |
|
class Monad m => VarInfoM m where Source #
lookupVarInfo :: VarId -> m Info Source #
setVarInfo :: VarId -> Info -> m () Source #
class (VarInfoM m, HookStatsM m, MonadInfo m, MemoM m, GenModeM m, Functor m) => Evalable m Source #
entry :: Monad m => (String, Type, Value -> Statement) -> (String, Type, Info -> m Statement) Source #
data SearchCombiner Source #
(FMonadT t1, FMonadT t2, MonadInfoT t1, MonadInfoT t2) => SearchCombiner | |
buildCombiner :: [Search] -> SearchCombiner Source #
extractCombiners :: (Evalable m, FMonadT t', MonadInfoT t', FMonadT t1, MonadInfoT t1, FMonadT t2, MonadInfoT t2) => [SearchCombinerElem t1 t2] -> Eval (t' ((t1 :> t2) m)) -> State Int [Eval (t' ((t1 :> t2) m))] Source #
memoLoop :: (GenModeM m, MemoM m, MonadInfo m, HookStatsM m, VarInfoM m) => Eval m -> Eval m Source #