hint-0.9.0.6: src/Language/Haskell/Interpreter.hs
module Language.Haskell.Interpreter(
-- * The interpreter monad transformer
MonadInterpreter(..), InterpreterT, Interpreter,
-- ** Running the interpreter
runInterpreter,
-- ** Interpreter options
Option, OptionVal((:=)),
get, set,
languageExtensions, availableExtensions, Extension(..),
installedModulesInScope, searchPath,
-- ** Context handling
ModuleName, isModuleInterpreted,
ModuleImport(..), ModuleQualification(..), ImportList(..),
loadModules, getLoadedModules, setTopLevelModules,
setImports, setImportsQ, setImportsF,
reset,
-- ** Module querying
ModuleElem(..), Id, name, children,
getModuleExports,
-- ** Annotations
-- In the snippets below we use \'LBRACE\' and \'RBRACE\'
-- to mean \'{\' and \'}\' respectively. We cannot put the
-- pragmas inline in the code since GHC scarfs them up.
getModuleAnnotations, getValAnnotations,
-- ** Type inference
typeChecksWithDetails,
typeOf, typeChecks, kindOf, normalizeType,
-- ** Evaluation
interpret, as, infer, eval, runStmt,
-- * Error handling
InterpreterError(..), GhcError(..), MultipleInstancesNotAllowed(..),
-- * Miscellaneous
ghcVersion, parens,
module Control.Monad.Trans.Class,
module Control.Monad.IO.Class,
) where
import Hint.Base
import Hint.Annotations
import Hint.InterpreterT
import Hint.Configuration
import Hint.Context
import Hint.Reflection
import Hint.Typecheck
import Hint.Eval
import Control.Monad.IO.Class
import Control.Monad.Trans.Class