|
|
|
Description |
Main driver for the compiling plain Haskell source code.
This module implements compilation of a Haskell-only source file. It is
not concerned with preprocessing of source files; this is handled in
DriverPipeline.
|
|
Synopsis |
|
newHscEnv :: GhcApiCallbacks -> DynFlags -> IO HscEnv | | hscCmmFile :: GhcMonad m => HscEnv -> FilePath -> m () | | hscParseIdentifier :: GhcMonad m => DynFlags -> String -> m (Located RdrName) | | hscSimplify :: GhcMonad m => ModGuts -> m ModGuts | | hscNormalIface :: GhcMonad m => ModGuts -> Maybe Fingerprint -> m (ModIface, Bool, ModDetails, CgGuts) | | hscWriteIface :: GhcMonad m => ModIface -> Bool -> ModSummary -> m () | | hscGenHardCode :: GhcMonad m => CgGuts -> ModSummary -> m Bool | | hscStmt :: GhcMonad m => HscEnv -> String -> m (Maybe ([Id], HValue)) | | hscTcExpr :: GhcMonad m => HscEnv -> String -> m Type | | hscKcType :: GhcMonad m => HscEnv -> String -> m Kind | | compileExpr :: HscEnv -> SrcSpan -> CoreExpr -> IO HValue | | data HsCompiler a = HsCompiler {} | | hscOneShotCompiler :: HsCompiler OneShotResult | | hscNothingCompiler :: HsCompiler NothingResult | | hscInteractiveCompiler :: HsCompiler InteractiveResult | | hscBatchCompiler :: HsCompiler BatchResult | | hscCompileOneShot :: Compiler OneShotResult | | hscCompileBatch :: Compiler (HscStatus, ModIface, ModDetails) | | hscCompileNothing :: Compiler (HscStatus, ModIface, ModDetails) | | hscCompileInteractive :: Compiler (InteractiveStatus, ModIface, ModDetails) | | | | type InteractiveStatus = HscStatus' (Maybe (CompiledByteCode, ModBreaks)) | | type HscStatus = HscStatus' () | | hscParse :: GhcMonad m => ModSummary -> m (Located (HsModule RdrName)) | | hscTypecheck :: GhcMonad m => ModSummary -> Located (HsModule RdrName) -> m TcGblEnv | | hscTypecheckRename :: GhcMonad m => ModSummary -> Located (HsModule RdrName) -> m (TcGblEnv, RenamedStuff) | | hscDesugar :: GhcMonad m => ModSummary -> TcGblEnv -> m ModGuts | | makeSimpleIface :: GhcMonad m => Maybe ModIface -> TcGblEnv -> ModDetails -> m (ModIface, Bool) | | makeSimpleDetails :: GhcMonad m => TcGblEnv -> m ModDetails |
|
|
Documentation |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hscCompileOneShot :: Compiler OneShotResult | Source |
|
|
|
|
|
|
|
|
|
Constructors | HscNoRecomp | | HscRecomp Bool a | |
|
|
|
|
|
|
|
|
parse a file, returning the abstract syntax
|
|
|
Rename and typecheck a module
|
|
|
Rename and typecheck a module, additionally returning the renamed syntax
|
|
|
Convert a typechecked module to Core
|
|
|
Make a ModIface from the results of typechecking. Used when
not optimising, and the interface doesn't need to contain any
unfoldings or other cross-module optimisation info.
ToDo: the old interface is only needed to get the version numbers,
we should use fingerprint versions instead.
|
|
|
Make a ModDetails from the results of typechecking. Used when
typechecking only, as opposed to full compilation.
|
|
Produced by Haddock version 2.6.1 |