Safe Haskell | None |
---|---|
Language | Haskell98 |
Main API for compiling plain Haskell source code.
This module implements compilation of a Haskell source. It is not concerned with preprocessing of source files; this is handled in DriverPipeline.
There are various entry points depending on what mode we're in:
"batch" mode (--make
), "one-shot" mode (-c
, -S
etc.), and
"interactive" mode (GHCi). There are also entry points for
individual passes: parsing, typechecking/renaming, desugaring, and
simplification.
All the functions here take an HscEnv
as a parameter, but none of
them return a new one: HscEnv
is treated as an immutable value
from here on in (although it has mutable components, for the
caches).
Warning messages are dealt with consistently throughout this API:
during compilation warnings are collected, and before any function
in HscMain
returns, the warnings are either printed, or turned
into a real compialtion error if the -Werror
flag is enabled.
(c) The GRASP/AQUA Project, Glasgow University, 1993-2000
- hscDesugarWithLoc :: HscEnv -> ModSummary -> TcGblEnv -> IO ModGuts
Documentation
hscDesugarWithLoc :: HscEnv -> ModSummary -> TcGblEnv -> IO ModGuts Source #
Convert a typechecked module to Core