Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Interp :: (* -> *) -> * -> *
- interp :: (Monad m, Typeable b) => (b -> a) -> Interp m a
- interpM :: (CLMonad m, Typeable b) => (b -> m a) -> Interp m a
- interpEM :: (CLMonad m, Typeable b) => (b -> ExprH -> m a) -> Interp m a
- interpExprH :: CLMonad m => [Interp m b] -> ExprH -> m b
- exprToDyns :: MonadState CommandLineState m => ExprH -> m [Dynamic]
The HERMIT Interpreter
interpM :: (CLMonad m, Typeable b) => (b -> m a) -> Interp m a Source
An Interp
which can affect the shell.
interpEM :: (CLMonad m, Typeable b) => (b -> ExprH -> m a) -> Interp m a Source
Like InterpM
, but with access to the original expression.
interpExprH :: CLMonad m => [Interp m b] -> ExprH -> m b Source
Execute an ExprH
using a given interpreter. The given interpretations
are tried in order. The first one to match (have the proper type) will be executed.
exprToDyns :: MonadState CommandLineState m => ExprH -> m [Dynamic] Source