Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 1f2b142b9d2ef4849a6f5316fa1c5b12 > files > 1912

ghc-6.10.4-1mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>GHC</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
></SCRIPT
><SCRIPT TYPE="text/javascript"
>window.onload = function () {setSynopsis("mini_GHC.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>ghc-6.10.4: The GHC API</TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>GHC</FONT
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF="#1"
>Initialisation
</A
></DT
><DT
><A HREF="#2"
>GHC Monad
</A
></DT
><DT
><A HREF="#3"
>Flags and settings
</A
></DT
><DT
><A HREF="#4"
>Targets
</A
></DT
><DT
><A HREF="#5"
>Extending the program scope 
</A
></DT
><DT
><A HREF="#6"
>Loading/compiling the program
</A
></DT
><DT
><A HREF="#7"
>Parsing Haddock comments
</A
></DT
><DT
><A HREF="#8"
>Inspecting the module structure of the program
</A
></DT
><DT
><A HREF="#9"
>Inspecting modules
</A
></DT
><DT
><A HREF="#10"
>Querying the environment
</A
></DT
><DT
><A HREF="#11"
>Printing
</A
></DT
><DT
><A HREF="#12"
>Interactive evaluation
</A
></DT
><DT
><A HREF="#13"
>Abstract syntax elements
</A
></DT
><DD
><DL
><DT
><A HREF="#14"
>Packages
</A
></DT
><DT
><A HREF="#15"
>Modules
</A
></DT
><DT
><A HREF="#16"
>Names
</A
></DT
><DT
><A HREF="#17"
>Identifiers
</A
></DT
><DT
><A HREF="#18"
>Type constructors
</A
></DT
><DT
><A HREF="#19"
>Type variables
</A
></DT
><DT
><A HREF="#20"
>Data constructors
</A
></DT
><DT
><A HREF="#21"
>Classes
</A
></DT
><DT
><A HREF="#22"
>Instances
</A
></DT
><DT
><A HREF="#23"
>Types and Kinds
</A
></DT
><DT
><A HREF="#24"
>Entities
</A
></DT
><DT
><A HREF="#25"
>Syntax
</A
></DT
><DT
><A HREF="#26"
>Fixities
</A
></DT
><DT
><A HREF="#27"
>Source locations
</A
></DT
><DT
><A HREF="#28"
>Located
</A
></DT
><DD
><DL
><DT
><A HREF="#29"
>Constructing Located
</A
></DT
><DT
><A HREF="#30"
>Deconstructing Located
</A
></DT
><DT
><A HREF="#31"
>Combining and comparing Located values
</A
></DT
></DL
></DD
></DL
></DD
><DT
><A HREF="#32"
>Exceptions
</A
></DT
><DT
><A HREF="#33"
>Token stream manipulations
</A
></DT
><DT
><A HREF="#34"
>Miscellaneous
</A
></DT
></DL
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3AdefaultErrorHandler"
>defaultErrorHandler</A
> :: (<A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> m, <A HREF="MonadUtils.html#t%3AMonadIO"
>MonadIO</A
> m) =&gt; <A HREF="GHC.html#t%3ADynFlags"
>DynFlags</A
> -&gt; m a -&gt; m a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdefaultCleanupHandler"
>defaultCleanupHandler</A
> :: (<A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> m, <A HREF="MonadUtils.html#t%3AMonadIO"
>MonadIO</A
> m) =&gt; <A HREF="GHC.html#t%3ADynFlags"
>DynFlags</A
> -&gt; m a -&gt; m a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AGhc"
>Ghc</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AGhcT"
>GhcT</A
> m a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> (<A HREF="../base/Control-Monad.html#t%3AFunctor"
>Functor</A
> m, <A HREF="MonadUtils.html#t%3AMonadIO"
>MonadIO</A
> m, <A HREF="HscTypes.html#t%3AWarnLogMonad"
>WarnLogMonad</A
> m, <A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> m) =&gt; <A HREF="#t%3AGhcMonad"
>GhcMonad</A
> m  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetSession"
>getSession</A
> :: m <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetSession"
>setSession</A
> :: <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ArunGhc"
>runGhc</A
> ::  <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="GHC.html#t%3AGhc"
>Ghc</A
> a -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ArunGhcT"
>runGhcT</A
> :: (<A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> m, <A HREF="../base/Control-Monad.html#t%3AFunctor"
>Functor</A
> m, <A HREF="MonadUtils.html#t%3AMonadIO"
>MonadIO</A
> m) =&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="GHC.html#t%3AGhcT"
>GhcT</A
> m a -&gt; m a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinitGhcMonad"
>initGhcMonad</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Agcatch"
>gcatch</A
> :: (<A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> m, <A HREF="../base/Control-Exception-Base.html#t%3AException"
>Exception</A
> e) =&gt; m a -&gt; (e -&gt; m a) -&gt; m a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Agbracket"
>gbracket</A
> :: <A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> m =&gt; m a -&gt; (a -&gt; m b) -&gt; (a -&gt; m c) -&gt; m c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Agfinally"
>gfinally</A
> :: <A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> m =&gt; m a -&gt; m b -&gt; m a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AclearWarnings"
>clearWarnings</A
> :: <A HREF="HscTypes.html#t%3AWarnLogMonad"
>WarnLogMonad</A
> m =&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetWarnings"
>getWarnings</A
> :: <A HREF="HscTypes.html#t%3AWarnLogMonad"
>WarnLogMonad</A
> m =&gt; m <A HREF="ErrUtils.html#t%3AWarningMessages"
>WarningMessages</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhasWarnings"
>hasWarnings</A
> :: <A HREF="HscTypes.html#t%3AWarnLogMonad"
>WarnLogMonad</A
> m =&gt; m <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AprintExceptionAndWarnings"
>printExceptionAndWarnings</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="HscTypes.html#t%3ASourceError"
>SourceError</A
> -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AprintWarnings"
>printWarnings</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhandleSourceError"
>handleSourceError</A
> :: <A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> m =&gt; (<A HREF="HscTypes.html#t%3ASourceError"
>SourceError</A
> -&gt; m a) -&gt; m a -&gt; m a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ADynFlags"
>DynFlags</A
>  = <A HREF="#v%3ADynFlags"
>DynFlags</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3AghcMode"
>ghcMode</A
> :: <A HREF="GHC.html#t%3AGhcMode"
>GhcMode</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AghcLink"
>ghcLink</A
> :: <A HREF="GHC.html#t%3AGhcLink"
>GhcLink</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AcoreToDo"
>coreToDo</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="DynFlags.html#t%3ACoreToDo"
>CoreToDo</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AstgToDo"
>stgToDo</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="DynFlags.html#t%3AStgToDo"
>StgToDo</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AhscTarget"
>hscTarget</A
> :: <A HREF="GHC.html#t%3AHscTarget"
>HscTarget</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AhscOutName"
>hscOutName</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AextCoreName"
>extCoreName</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Averbosity"
>verbosity</A
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AoptLevel"
>optLevel</A
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AsimplPhases"
>simplPhases</A
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AmaxSimplIterations"
>maxSimplIterations</A
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AshouldDumpSimplPhase"
>shouldDumpSimplPhase</A
> :: <A HREF="DynFlags.html#t%3ASimplifierMode"
>SimplifierMode</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AruleCheck"
>ruleCheck</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AspecConstrThreshold"
>specConstrThreshold</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AspecConstrCount"
>specConstrCount</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AliberateCaseThreshold"
>liberateCaseThreshold</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Astolen_x86_regs"
>stolen_x86_regs</A
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AcmdlineHcIncludes"
>cmdlineHcIncludes</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AimportPaths"
>importPaths</A
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AmainModIs"
>mainModIs</A
> :: <A HREF="GHC.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AmainFunIs"
>mainFunIs</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3ActxtStkDepth"
>ctxtStkDepth</A
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AdphBackend"
>dphBackend</A
> :: DPHBackend</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AthisPackage"
>thisPackage</A
> :: <A HREF="GHC.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AwayNames"
>wayNames</A
> :: [<A HREF="StaticFlags.html#t%3AWayName"
>WayName</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AbuildTag"
>buildTag</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3ArtsBuildTag"
>rtsBuildTag</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AobjectDir"
>objectDir</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AhiDir"
>hiDir</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AstubDir"
>stubDir</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AobjectSuf"
>objectSuf</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AhcSuf"
>hcSuf</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AhiSuf"
>hiSuf</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AoutputFile"
>outputFile</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AoutputHi"
>outputHi</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AdynLibLoader"
>dynLibLoader</A
> :: <A HREF="DynFlags.html#t%3ADynLibLoader"
>DynLibLoader</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AdumpPrefix"
>dumpPrefix</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AdumpPrefixForce"
>dumpPrefixForce</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AincludePaths"
>includePaths</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AlibraryPaths"
>libraryPaths</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AframeworkPaths"
>frameworkPaths</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AcmdlineFrameworks"
>cmdlineFrameworks</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtmpDir"
>tmpDir</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AghcUsagePath"
>ghcUsagePath</A
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AghciUsagePath"
>ghciUsagePath</A
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AhpcDir"
>hpcDir</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aopt_L"
>opt_L</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aopt_P"
>opt_P</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aopt_F"
>opt_F</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aopt_c"
>opt_c</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aopt_m"
>opt_m</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aopt_a"
>opt_a</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aopt_l"
>opt_l</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aopt_windres"
>opt_windres</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Apgm_L"
>pgm_L</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Apgm_P"
>pgm_P</A
> :: (<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, [<A HREF="DynFlags.html#t%3AOption"
>Option</A
>])</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Apgm_F"
>pgm_F</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Apgm_c"
>pgm_c</A
> :: (<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, [<A HREF="DynFlags.html#t%3AOption"
>Option</A
>])</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Apgm_m"
>pgm_m</A
> :: (<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, [<A HREF="DynFlags.html#t%3AOption"
>Option</A
>])</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Apgm_s"
>pgm_s</A
> :: (<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, [<A HREF="DynFlags.html#t%3AOption"
>Option</A
>])</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Apgm_a"
>pgm_a</A
> :: (<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, [<A HREF="DynFlags.html#t%3AOption"
>Option</A
>])</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Apgm_l"
>pgm_l</A
> :: (<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, [<A HREF="DynFlags.html#t%3AOption"
>Option</A
>])</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Apgm_dll"
>pgm_dll</A
> :: (<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, [<A HREF="DynFlags.html#t%3AOption"
>Option</A
>])</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Apgm_T"
>pgm_T</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Apgm_sysman"
>pgm_sysman</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Apgm_windres"
>pgm_windres</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AdepMakefile"
>depMakefile</A
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AdepIncludePkgDeps"
>depIncludePkgDeps</A
> :: <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AdepExcludeMods"
>depExcludeMods</A
> :: [<A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AdepSuffixes"
>depSuffixes</A
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AextraPkgConfs"
>extraPkgConfs</A
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtopDir"
>topDir</A
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AsystemPackageConfig"
>systemPackageConfig</A
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3ApackageFlags"
>packageFlags</A
> :: [<A HREF="DynFlags.html#t%3APackageFlag"
>PackageFlag</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3ApkgDatabase"
>pkgDatabase</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="UniqFM.html#t%3AUniqFM"
>UniqFM</A
> <A HREF="PackageConfig.html#t%3APackageConfig"
>PackageConfig</A
>)</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3ApkgState"
>pkgState</A
> :: <A HREF="Packages.html#t%3APackageState"
>PackageState</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aflags"
>flags</A
> :: [<A HREF="GHC.html#t%3ADynFlag"
>DynFlag</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Alog_action"
>log_action</A
> :: <A HREF="GHC.html#t%3ASeverity"
>Severity</A
> -&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="Outputable.html#t%3APprStyle"
>PprStyle</A
> -&gt; <A HREF="ErrUtils.html#t%3AMessage"
>Message</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AhaddockOptions"
>haddockOptions</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ADynFlag"
>DynFlag</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AOpt_D_dump_cmm"
>Opt_D_dump_cmm</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_cmmz"
>Opt_D_dump_cmmz</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_cmmz_pretty"
>Opt_D_dump_cmmz_pretty</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_cps_cmm"
>Opt_D_dump_cps_cmm</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_cvt_cmm"
>Opt_D_dump_cvt_cmm</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_asm"
>Opt_D_dump_asm</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_asm_native"
>Opt_D_dump_asm_native</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_asm_liveness"
>Opt_D_dump_asm_liveness</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_asm_coalesce"
>Opt_D_dump_asm_coalesce</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_asm_regalloc"
>Opt_D_dump_asm_regalloc</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_asm_regalloc_stages"
>Opt_D_dump_asm_regalloc_stages</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_asm_conflicts"
>Opt_D_dump_asm_conflicts</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_asm_stats"
>Opt_D_dump_asm_stats</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_cpranal"
>Opt_D_dump_cpranal</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_deriv"
>Opt_D_dump_deriv</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_ds"
>Opt_D_dump_ds</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_flatC"
>Opt_D_dump_flatC</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_foreign"
>Opt_D_dump_foreign</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_inlinings"
>Opt_D_dump_inlinings</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_rule_firings"
>Opt_D_dump_rule_firings</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_occur_anal"
>Opt_D_dump_occur_anal</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_parsed"
>Opt_D_dump_parsed</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_rn"
>Opt_D_dump_rn</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_simpl"
>Opt_D_dump_simpl</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_simpl_iterations"
>Opt_D_dump_simpl_iterations</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_simpl_phases"
>Opt_D_dump_simpl_phases</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_spec"
>Opt_D_dump_spec</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_prep"
>Opt_D_dump_prep</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_stg"
>Opt_D_dump_stg</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_stranal"
>Opt_D_dump_stranal</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_tc"
>Opt_D_dump_tc</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_types"
>Opt_D_dump_types</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_rules"
>Opt_D_dump_rules</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_cse"
>Opt_D_dump_cse</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_worker_wrapper"
>Opt_D_dump_worker_wrapper</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_rn_trace"
>Opt_D_dump_rn_trace</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_rn_stats"
>Opt_D_dump_rn_stats</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_opt_cmm"
>Opt_D_dump_opt_cmm</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_simpl_stats"
>Opt_D_dump_simpl_stats</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_tc_trace"
>Opt_D_dump_tc_trace</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_if_trace"
>Opt_D_dump_if_trace</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_splices"
>Opt_D_dump_splices</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_BCOs"
>Opt_D_dump_BCOs</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_vect"
>Opt_D_dump_vect</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_hpc"
>Opt_D_dump_hpc</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_rtti"
>Opt_D_dump_rtti</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_source_stats"
>Opt_D_source_stats</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_verbose_core2core"
>Opt_D_verbose_core2core</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_verbose_stg2stg"
>Opt_D_verbose_stg2stg</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_hi"
>Opt_D_dump_hi</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_hi_diffs"
>Opt_D_dump_hi_diffs</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_minimal_imports"
>Opt_D_dump_minimal_imports</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_mod_cycles"
>Opt_D_dump_mod_cycles</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_dump_view_pattern_commoning"
>Opt_D_dump_view_pattern_commoning</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_faststring_stats"
>Opt_D_faststring_stats</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_DumpToFile"
>Opt_DumpToFile</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_D_no_debug_output"
>Opt_D_no_debug_output</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_DoCoreLinting"
>Opt_DoCoreLinting</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_DoStgLinting"
>Opt_DoStgLinting</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_DoCmmLinting"
>Opt_DoCmmLinting</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_DoAsmLinting"
>Opt_DoAsmLinting</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnIsError"
>Opt_WarnIsError</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnDuplicateExports"
>Opt_WarnDuplicateExports</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnHiShadows"
>Opt_WarnHiShadows</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnImplicitPrelude"
>Opt_WarnImplicitPrelude</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnIncompletePatterns"
>Opt_WarnIncompletePatterns</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnIncompletePatternsRecUpd"
>Opt_WarnIncompletePatternsRecUpd</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnMissingFields"
>Opt_WarnMissingFields</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnMissingMethods"
>Opt_WarnMissingMethods</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnMissingSigs"
>Opt_WarnMissingSigs</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnNameShadowing"
>Opt_WarnNameShadowing</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnOverlappingPatterns"
>Opt_WarnOverlappingPatterns</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnSimplePatterns"
>Opt_WarnSimplePatterns</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnTypeDefaults"
>Opt_WarnTypeDefaults</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnMonomorphism"
>Opt_WarnMonomorphism</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnUnusedBinds"
>Opt_WarnUnusedBinds</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnUnusedImports"
>Opt_WarnUnusedImports</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnUnusedMatches"
>Opt_WarnUnusedMatches</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnWarningsDeprecations"
>Opt_WarnWarningsDeprecations</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnDeprecatedFlags"
>Opt_WarnDeprecatedFlags</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnDodgyImports"
>Opt_WarnDodgyImports</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnOrphans"
>Opt_WarnOrphans</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnTabs"
>Opt_WarnTabs</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnUnrecognisedPragmas"
>Opt_WarnUnrecognisedPragmas</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_WarnDodgyForeignImports"
>Opt_WarnDodgyForeignImports</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_OverlappingInstances"
>Opt_OverlappingInstances</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_UndecidableInstances"
>Opt_UndecidableInstances</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_IncoherentInstances"
>Opt_IncoherentInstances</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_MonomorphismRestriction"
>Opt_MonomorphismRestriction</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_MonoPatBinds"
>Opt_MonoPatBinds</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_ExtendedDefaultRules"
>Opt_ExtendedDefaultRules</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_ForeignFunctionInterface"
>Opt_ForeignFunctionInterface</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_UnliftedFFITypes"
>Opt_UnliftedFFITypes</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_PArr"
>Opt_PArr</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_Arrows"
>Opt_Arrows</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_TemplateHaskell"
>Opt_TemplateHaskell</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_QuasiQuotes"
>Opt_QuasiQuotes</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_ImplicitParams"
>Opt_ImplicitParams</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_Generics"
>Opt_Generics</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_ImplicitPrelude"
>Opt_ImplicitPrelude</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_ScopedTypeVariables"
>Opt_ScopedTypeVariables</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_UnboxedTuples"
>Opt_UnboxedTuples</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_BangPatterns"
>Opt_BangPatterns</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_TypeFamilies"
>Opt_TypeFamilies</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_OverloadedStrings"
>Opt_OverloadedStrings</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_DisambiguateRecordFields"
>Opt_DisambiguateRecordFields</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_RecordWildCards"
>Opt_RecordWildCards</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_RecordPuns"
>Opt_RecordPuns</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_ViewPatterns"
>Opt_ViewPatterns</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_GADTs"
>Opt_GADTs</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_RelaxedPolyRec"
>Opt_RelaxedPolyRec</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_StandaloneDeriving"
>Opt_StandaloneDeriving</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_DeriveDataTypeable"
>Opt_DeriveDataTypeable</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_TypeSynonymInstances"
>Opt_TypeSynonymInstances</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_FlexibleContexts"
>Opt_FlexibleContexts</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_FlexibleInstances"
>Opt_FlexibleInstances</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_ConstrainedClassMethods"
>Opt_ConstrainedClassMethods</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_MultiParamTypeClasses"
>Opt_MultiParamTypeClasses</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_FunctionalDependencies"
>Opt_FunctionalDependencies</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_UnicodeSyntax"
>Opt_UnicodeSyntax</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_PolymorphicComponents"
>Opt_PolymorphicComponents</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_ExistentialQuantification"
>Opt_ExistentialQuantification</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_MagicHash"
>Opt_MagicHash</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_EmptyDataDecls"
>Opt_EmptyDataDecls</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_KindSignatures"
>Opt_KindSignatures</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_ParallelListComp"
>Opt_ParallelListComp</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_TransformListComp"
>Opt_TransformListComp</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_GeneralizedNewtypeDeriving"
>Opt_GeneralizedNewtypeDeriving</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_RecursiveDo"
>Opt_RecursiveDo</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_PostfixOperators"
>Opt_PostfixOperators</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_PatternGuards"
>Opt_PatternGuards</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_LiberalTypeSynonyms"
>Opt_LiberalTypeSynonyms</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_Rank2Types"
>Opt_Rank2Types</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_RankNTypes"
>Opt_RankNTypes</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_ImpredicativeTypes"
>Opt_ImpredicativeTypes</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_TypeOperators"
>Opt_TypeOperators</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_PackageImports"
>Opt_PackageImports</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_NewQualifiedOperators"
>Opt_NewQualifiedOperators</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_PrintExplicitForalls"
>Opt_PrintExplicitForalls</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_Strictness"
>Opt_Strictness</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_FullLaziness"
>Opt_FullLaziness</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_StaticArgumentTransformation"
>Opt_StaticArgumentTransformation</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_CSE"
>Opt_CSE</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_LiberateCase"
>Opt_LiberateCase</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_SpecConstr"
>Opt_SpecConstr</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_IgnoreInterfacePragmas"
>Opt_IgnoreInterfacePragmas</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_OmitInterfacePragmas"
>Opt_OmitInterfacePragmas</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_DoLambdaEtaExpansion"
>Opt_DoLambdaEtaExpansion</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_IgnoreAsserts"
>Opt_IgnoreAsserts</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_DoEtaReduction"
>Opt_DoEtaReduction</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_CaseMerge"
>Opt_CaseMerge</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_UnboxStrictFields"
>Opt_UnboxStrictFields</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_MethodSharing"
>Opt_MethodSharing</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_DictsCheap"
>Opt_DictsCheap</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_InlineIfEnoughArgs"
>Opt_InlineIfEnoughArgs</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_EnableRewriteRules"
>Opt_EnableRewriteRules</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_Vectorise"
>Opt_Vectorise</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_RegsGraph"
>Opt_RegsGraph</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_RegsIterative"
>Opt_RegsIterative</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_Cpp"
>Opt_Cpp</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_Pp"
>Opt_Pp</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_ForceRecomp"
>Opt_ForceRecomp</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_DryRun"
>Opt_DryRun</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_DoAsmMangling"
>Opt_DoAsmMangling</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_ExcessPrecision"
>Opt_ExcessPrecision</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_ReadUserPackageConf"
>Opt_ReadUserPackageConf</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_NoHsMain"
>Opt_NoHsMain</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_SplitObjs"
>Opt_SplitObjs</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_StgStats"
>Opt_StgStats</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_HideAllPackages"
>Opt_HideAllPackages</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_PrintBindResult"
>Opt_PrintBindResult</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_Haddock"
>Opt_Haddock</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_HaddockOptions"
>Opt_HaddockOptions</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_Hpc_No_Auto"
>Opt_Hpc_No_Auto</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_BreakOnException"
>Opt_BreakOnException</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_BreakOnError"
>Opt_BreakOnError</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_PrintEvldWithShow"
>Opt_PrintEvldWithShow</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_PrintBindContents"
>Opt_PrintBindContents</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_GenManifest"
>Opt_GenManifest</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_EmbedManifest"
>Opt_EmbedManifest</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_RunCPSZ"
>Opt_RunCPSZ</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_ConvertToZipCfgAndBack"
>Opt_ConvertToZipCfgAndBack</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_AutoLinkPackages"
>Opt_AutoLinkPackages</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_ImplicitImportQualified"
>Opt_ImplicitImportQualified</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_KeepHiDiffs"
>Opt_KeepHiDiffs</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_KeepHcFiles"
>Opt_KeepHcFiles</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_KeepSFiles"
>Opt_KeepSFiles</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_KeepRawSFiles"
>Opt_KeepRawSFiles</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_KeepTmpFiles"
>Opt_KeepTmpFiles</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOpt_KeepRawTokenStream"
>Opt_KeepRawTokenStream</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ASeverity"
>Severity</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ASevInfo"
>SevInfo</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ASevWarning"
>SevWarning</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ASevError"
>SevError</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ASevFatal"
>SevFatal</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AHscTarget"
>HscTarget</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AHscC"
>HscC</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AHscAsm"
>HscAsm</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AHscJava"
>HscJava</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AHscInterpreted"
>HscInterpreted</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AHscNothing"
>HscNothing</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Adopt"
>dopt</A
> :: <A HREF="GHC.html#t%3ADynFlag"
>DynFlag</A
> -&gt; <A HREF="GHC.html#t%3ADynFlags"
>DynFlags</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AGhcMode"
>GhcMode</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ACompManager"
>CompManager</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AOneShot"
>OneShot</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AMkDepend"
>MkDepend</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AGhcLink"
>GhcLink</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ANoLink"
>NoLink</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ALinkBinary"
>LinkBinary</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ALinkInMemory"
>LinkInMemory</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ALinkDynLib"
>LinkDynLib</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdefaultObjectTarget"
>defaultObjectTarget</A
> :: <A HREF="GHC.html#t%3AHscTarget"
>HscTarget</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AparseDynamicFlags"
>parseDynamicFlags</A
> :: <A HREF="../base/Control-Monad.html#t%3AMonad"
>Monad</A
> m =&gt; <A HREF="GHC.html#t%3ADynFlags"
>DynFlags</A
> -&gt; [<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>] -&gt; m (<A HREF="GHC.html#t%3ADynFlags"
>DynFlags</A
>, [<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>], [<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>])</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetSessionDynFlags"
>getSessionDynFlags</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m <A HREF="GHC.html#t%3ADynFlags"
>DynFlags</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetSessionDynFlags"
>setSessionDynFlags</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3ADynFlags"
>DynFlags</A
> -&gt; m [<A HREF="GHC.html#t%3APackageId"
>PackageId</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AparseStaticFlags"
>parseStaticFlags</A
> :: [<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>] -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> ([<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>], [<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>])</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ATarget"
>Target</A
>  = <A HREF="#v%3ATarget"
>Target</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtargetId"
>targetId</A
> :: <A HREF="GHC.html#t%3ATargetId"
>TargetId</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtargetAllowObjCode"
>targetAllowObjCode</A
> :: <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AtargetContents"
>targetContents</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="StringBuffer.html#t%3AStringBuffer"
>StringBuffer</A
>, <A HREF="../old-time/System-Time.html#t%3AClockTime"
>ClockTime</A
>)</TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ATargetId"
>TargetId</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ATargetModule"
>TargetModule</A
> <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATargetFile"
>TargetFile</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
> (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3APhase"
>Phase</A
>)</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3APhase"
>Phase</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetTargets"
>setTargets</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; [<A HREF="GHC.html#t%3ATarget"
>Target</A
>] -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetTargets"
>getTargets</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m [<A HREF="GHC.html#t%3ATarget"
>Target</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AaddTarget"
>addTarget</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3ATarget"
>Target</A
> -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AremoveTarget"
>removeTarget</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3ATargetId"
>TargetId</A
> -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AguessTarget"
>guessTarget</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3APhase"
>Phase</A
> -&gt; m <A HREF="GHC.html#t%3ATarget"
>Target</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AextendGlobalRdrScope"
>extendGlobalRdrScope</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; [<A HREF="RdrName.html#t%3AGlobalRdrElt"
>GlobalRdrElt</A
>] -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetGlobalRdrScope"
>setGlobalRdrScope</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; [<A HREF="RdrName.html#t%3AGlobalRdrElt"
>GlobalRdrElt</A
>] -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AextendGlobalTypeScope"
>extendGlobalTypeScope</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; [<A HREF="GHC.html#t%3AId"
>Id</A
>] -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetGlobalTypeScope"
>setGlobalTypeScope</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; [<A HREF="GHC.html#t%3AId"
>Id</A
>] -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Adepanal"
>depanal</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; [<A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
>] -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; m <A HREF="GHC.html#t%3AModuleGraph"
>ModuleGraph</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aload"
>load</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3ALoadHowMuch"
>LoadHowMuch</A
> -&gt; m <A HREF="GHC.html#t%3ASuccessFlag"
>SuccessFlag</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AloadWithLogger"
>loadWithLogger</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AWarnErrLogger"
>WarnErrLogger</A
> -&gt; <A HREF="GHC.html#t%3ALoadHowMuch"
>LoadHowMuch</A
> -&gt; m <A HREF="GHC.html#t%3ASuccessFlag"
>SuccessFlag</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ALoadHowMuch"
>LoadHowMuch</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ALoadAllTargets"
>LoadAllTargets</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ALoadUpTo"
>LoadUpTo</A
> <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ALoadDependenciesOf"
>LoadDependenciesOf</A
> <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ASuccessFlag"
>SuccessFlag</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ASucceeded"
>Succeeded</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AFailed"
>Failed</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdefaultWarnErrLogger"
>defaultWarnErrLogger</A
> :: <A HREF="GHC.html#t%3AWarnErrLogger"
>WarnErrLogger</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AWarnErrLogger"
>WarnErrLogger</A
> = <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="HscTypes.html#t%3ASourceError"
>SourceError</A
> -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AworkingDirectoryChanged"
>workingDirectoryChanged</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AparseModule"
>parseModule</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
> -&gt; m <A HREF="GHC.html#t%3AParsedModule"
>ParsedModule</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtypecheckModule"
>typecheckModule</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AParsedModule"
>ParsedModule</A
> -&gt; m <A HREF="GHC.html#t%3ATypecheckedModule"
>TypecheckedModule</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdesugarModule"
>desugarModule</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3ATypecheckedModule"
>TypecheckedModule</A
> -&gt; m <A HREF="GHC.html#t%3ADesugaredModule"
>DesugaredModule</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AloadModule"
>loadModule</A
> :: (<A HREF="GHC.html#t%3ATypecheckedMod"
>TypecheckedMod</A
> mod, <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m) =&gt; mod -&gt; m mod</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AParsedModule"
>ParsedModule</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ATypecheckedModule"
>TypecheckedModule</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ADesugaredModule"
>DesugaredModule</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ATypecheckedSource"
>TypecheckedSource</A
> = <A HREF="HsBinds.html#t%3ALHsBinds"
>LHsBinds</A
> <A HREF="GHC.html#t%3AId"
>Id</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AParsedSource"
>ParsedSource</A
> = <A HREF="GHC.html#t%3ALocated"
>Located</A
> (<A HREF="HsSyn.html#t%3AHsModule"
>HsModule</A
> <A HREF="GHC.html#t%3ARdrName"
>RdrName</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ARenamedSource"
>RenamedSource</A
> = (<A HREF="HsDecls.html#t%3AHsGroup"
>HsGroup</A
> <A HREF="GHC.html#t%3AName"
>Name</A
>, [<A HREF="HsImpExp.html#t%3ALImportDecl"
>LImportDecl</A
> <A HREF="GHC.html#t%3AName"
>Name</A
>], <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="HsImpExp.html#t%3ALIE"
>LIE</A
> <A HREF="GHC.html#t%3AName"
>Name</A
>], <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="HsDoc.html#t%3AHsDoc"
>HsDoc</A
> <A HREF="GHC.html#t%3AName"
>Name</A
>), <A HREF="HsSyn.html#t%3AHaddockModInfo"
>HaddockModInfo</A
> <A HREF="GHC.html#t%3AName"
>Name</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="GHC.html#t%3AParsedMod"
>ParsedMod</A
> m =&gt; <A HREF="#t%3ATypecheckedMod"
>TypecheckedMod</A
> m  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3ArenamedSource"
>renamedSource</A
> :: m -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3ARenamedSource"
>RenamedSource</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtypecheckedSource"
>typecheckedSource</A
> :: m -&gt; <A HREF="GHC.html#t%3ATypecheckedSource"
>TypecheckedSource</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmoduleInfo"
>moduleInfo</A
> :: m -&gt; <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
>  <A HREF="#t%3AParsedMod"
>ParsedMod</A
> m  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3AparsedSource"
>parsedSource</A
> :: m -&gt; <A HREF="GHC.html#t%3AParsedSource"
>ParsedSource</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcoreModule"
>coreModule</A
> :: DesugaredMod m =&gt; m -&gt; <A HREF="HscTypes.html#t%3AModGuts"
>ModGuts</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcompileToCoreModule"
>compileToCoreModule</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; m <A HREF="HscTypes.html#t%3ACoreModule"
>CoreModule</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcompileToCoreSimplified"
>compileToCoreSimplified</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; m <A HREF="HscTypes.html#t%3ACoreModule"
>CoreModule</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcompileCoreToObj"
>compileCoreToObj</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="HscTypes.html#t%3ACoreModule"
>CoreModule</A
> -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetModSummary"
>getModSummary</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
> -&gt; m <A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AparseHaddockComment"
>parseHaddockComment</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base/Data-Either.html#t%3AEither"
>Either</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> (<A HREF="HsDoc.html#t%3AHsDoc"
>HsDoc</A
> <A HREF="GHC.html#t%3ARdrName"
>RdrName</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AModuleGraph"
>ModuleGraph</A
> = [<A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AModSummary"
>ModSummary</A
>  = <A HREF="#v%3AModSummary"
>ModSummary</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ams_mod"
>ms_mod</A
> :: <A HREF="GHC.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ams_hsc_src"
>ms_hsc_src</A
> :: <A HREF="DriverPhases.html#t%3AHscSource"
>HscSource</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ams_location"
>ms_location</A
> :: <A HREF="GHC.html#t%3AModLocation"
>ModLocation</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ams_hs_date"
>ms_hs_date</A
> :: <A HREF="../old-time/System-Time.html#t%3AClockTime"
>ClockTime</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ams_obj_date"
>ms_obj_date</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../old-time/System-Time.html#t%3AClockTime"
>ClockTime</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ams_srcimps"
>ms_srcimps</A
> :: [<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ams_imps"
>ms_imps</A
> :: [<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
>]</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ams_hspp_file"
>ms_hspp_file</A
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ams_hspp_opts"
>ms_hspp_opts</A
> :: <A HREF="GHC.html#t%3ADynFlags"
>DynFlags</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Ams_hspp_buf"
>ms_hspp_buf</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="StringBuffer.html#t%3AStringBuffer"
>StringBuffer</A
></TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Ams_mod_name"
>ms_mod_name</A
> :: <A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
> -&gt; <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AModLocation"
>ModLocation</A
>  = <A HREF="#v%3AModLocation"
>ModLocation</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aml_hs_file"
>ml_hs_file</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aml_hi_file"
>ml_hi_file</A
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aml_obj_file"
>ml_obj_file</A
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetModuleGraph"
>getModuleGraph</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m <A HREF="GHC.html#t%3AModuleGraph"
>ModuleGraph</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisLoaded"
>isLoaded</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
> -&gt; m <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtopSortModuleGraph"
>topSortModuleGraph</A
> :: <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; [<A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
>] -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
> -&gt; [<A HREF="Digraph.html#t%3ASCC"
>SCC</A
> <A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AModuleInfo"
>ModuleInfo</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetModuleInfo"
>getModuleInfo</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModule"
>Module</A
> -&gt; m (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmodInfoTyThings"
>modInfoTyThings</A
> :: <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
> -&gt; [<A HREF="GHC.html#t%3ATyThing"
>TyThing</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmodInfoTopLevelScope"
>modInfoTopLevelScope</A
> :: <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="GHC.html#t%3AName"
>Name</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmodInfoExports"
>modInfoExports</A
> :: <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
> -&gt; [<A HREF="GHC.html#t%3AName"
>Name</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmodInfoInstances"
>modInfoInstances</A
> :: <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
> -&gt; [<A HREF="GHC.html#t%3AInstance"
>Instance</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmodInfoIsExportedName"
>modInfoIsExportedName</A
> :: <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
> -&gt; <A HREF="GHC.html#t%3AName"
>Name</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmodInfoLookupName"
>modInfoLookupName</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
> -&gt; <A HREF="GHC.html#t%3AName"
>Name</A
> -&gt; m (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3ATyThing"
>TyThing</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlookupGlobalName"
>lookupGlobalName</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AName"
>Name</A
> -&gt; m (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3ATyThing"
>TyThing</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkPrintUnqualifiedForModule"
>mkPrintUnqualifiedForModule</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
> -&gt; m (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3APrintUnqualified"
>PrintUnqualified</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApackageDbModules"
>packageDbModules</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; m [<A HREF="GHC.html#t%3AModule"
>Module</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3APrintUnqualified"
>PrintUnqualified</A
> = (QueryQualifyName, QueryQualifyModule)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AalwaysQualify"
>alwaysQualify</A
> :: <A HREF="GHC.html#t%3APrintUnqualified"
>PrintUnqualified</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetBindings"
>getBindings</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m [<A HREF="GHC.html#t%3ATyThing"
>TyThing</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetPrintUnqual"
>getPrintUnqual</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m <A HREF="GHC.html#t%3APrintUnqualified"
>PrintUnqualified</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfindModule"
>findModule</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; m <A HREF="GHC.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetContext"
>setContext</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; [<A HREF="GHC.html#t%3AModule"
>Module</A
>] -&gt; [<A HREF="GHC.html#t%3AModule"
>Module</A
>] -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetContext"
>getContext</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m ([<A HREF="GHC.html#t%3AModule"
>Module</A
>], [<A HREF="GHC.html#t%3AModule"
>Module</A
>])</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetNamesInScope"
>getNamesInScope</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m [<A HREF="GHC.html#t%3AName"
>Name</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetRdrNamesInScope"
>getRdrNamesInScope</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m [<A HREF="GHC.html#t%3ARdrName"
>RdrName</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetGRE"
>getGRE</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m <A HREF="RdrName.html#t%3AGlobalRdrEnv"
>GlobalRdrEnv</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmoduleIsInterpreted"
>moduleIsInterpreted</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModule"
>Module</A
> -&gt; m <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetInfo"
>getInfo</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AName"
>Name</A
> -&gt; m (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="GHC.html#t%3ATyThing"
>TyThing</A
>, <A HREF="BasicTypes.html#t%3AFixity"
>Fixity</A
>, [<A HREF="GHC.html#t%3AInstance"
>Instance</A
>]))</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AexprType"
>exprType</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; m <A HREF="GHC.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtypeKind"
>typeKind</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; m <A HREF="GHC.html#t%3AKind"
>Kind</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AparseName"
>parseName</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; m [<A HREF="GHC.html#t%3AName"
>Name</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ARunResult"
>RunResult</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ARunOk"
>RunOk</A
> [<A HREF="GHC.html#t%3AName"
>Name</A
>]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARunFailed"
>RunFailed</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARunException"
>RunException</A
> <A HREF="../base/Control-Exception-Base.html#t%3ASomeException"
>SomeException</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARunBreak"
>RunBreak</A
> <A HREF="../base/Control-Concurrent.html#t%3AThreadId"
>ThreadId</A
> [<A HREF="GHC.html#t%3AName"
>Name</A
>] (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3ABreakInfo"
>BreakInfo</A
>)</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ArunStmt"
>runStmt</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="GHC.html#t%3ASingleStep"
>SingleStep</A
> -&gt; m <A HREF="GHC.html#t%3ARunResult"
>RunResult</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ASingleStep"
>SingleStep</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ARunToCompletion"
>RunToCompletion</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ASingleStep"
>SingleStep</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARunAndLogSteps"
>RunAndLogSteps</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aresume"
>resume</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; (<A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="GHC.html#t%3ASingleStep"
>SingleStep</A
> -&gt; m <A HREF="GHC.html#t%3ARunResult"
>RunResult</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AResume"
>Resume</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AHistory"
>History</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetHistorySpan"
>getHistorySpan</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AHistory"
>History</A
> -&gt; m <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetHistoryModule"
>getHistoryModule</A
> :: <A HREF="GHC.html#t%3AHistory"
>History</A
> -&gt; <A HREF="GHC.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetResumeContext"
>getResumeContext</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m [<A HREF="GHC.html#t%3AResume"
>Resume</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aabandon"
>abandon</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AabandonAll"
>abandonAll</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aback"
>back</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m ([<A HREF="GHC.html#t%3AName"
>Name</A
>], <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>, <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aforward"
>forward</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m ([<A HREF="GHC.html#t%3AName"
>Name</A
>], <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>, <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AshowModule"
>showModule</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
> -&gt; m <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisModuleInterpreted"
>isModuleInterpreted</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
> -&gt; m <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcompileExpr"
>compileExpr</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; m <A HREF="GHC.html#t%3AHValue"
>HValue</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AHValue"
>HValue</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdynCompileExpr"
>dynCompileExpr</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; m <A HREF="../base/Data-Dynamic.html#t%3ADynamic"
>Dynamic</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlookupName"
>lookupName</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AName"
>Name</A
> -&gt; m (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3ATyThing"
>TyThing</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AobtainTermFromId"
>obtainTermFromId</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; m <A HREF="RtClosureInspect.html#t%3ATerm"
>Term</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AobtainTermFromVal"
>obtainTermFromVal</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="GHC.html#t%3AType"
>Type</A
> -&gt; a -&gt; m <A HREF="RtClosureInspect.html#t%3ATerm"
>Term</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreconstructType"
>reconstructType</A
> :: <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3AType"
>Type</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmodInfoModBreaks"
>modInfoModBreaks</A
> :: <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
> -&gt; <A HREF="GHC.html#t%3AModBreaks"
>ModBreaks</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AModBreaks"
>ModBreaks</A
>  = <A HREF="#v%3AModBreaks"
>ModBreaks</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3AmodBreaks_flags"
>modBreaks_flags</A
> :: <A HREF="GHC.html#t%3ABreakArray"
>BreakArray</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AmodBreaks_locs"
>modBreaks_locs</A
> :: !(<A HREF="../base/GHC-Arr.html#t%3AArray"
>Array</A
> <A HREF="GHC.html#t%3ABreakIndex"
>BreakIndex</A
> <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
>)</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AmodBreaks_vars"
>modBreaks_vars</A
> :: !(<A HREF="../base/GHC-Arr.html#t%3AArray"
>Array</A
> <A HREF="GHC.html#t%3ABreakIndex"
>BreakIndex</A
> [<A HREF="OccName.html#t%3AOccName"
>OccName</A
>])</TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ABreakIndex"
>BreakIndex</A
> = <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ABreakInfo"
>BreakInfo</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ABreakArray"
>BreakArray</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetBreakOn"
>setBreakOn</A
> :: <A HREF="GHC.html#t%3ABreakArray"
>BreakArray</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetBreakOff"
>setBreakOff</A
> :: <A HREF="GHC.html#t%3ABreakArray"
>BreakArray</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetBreak"
>getBreak</A
> :: <A HREF="GHC.html#t%3ABreakArray"
>BreakArray</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Word.html#t%3AWord"
>Word</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3APackageId"
>PackageId</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AModule"
>Module</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkModule"
>mkModule</A
> :: <A HREF="GHC.html#t%3APackageId"
>PackageId</A
> -&gt; <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="GHC.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprModule"
>pprModule</A
> :: <A HREF="GHC.html#t%3AModule"
>Module</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmoduleName"
>moduleName</A
> :: <A HREF="GHC.html#t%3AModule"
>Module</A
> -&gt; <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmodulePackageId"
>modulePackageId</A
> :: <A HREF="GHC.html#t%3AModule"
>Module</A
> -&gt; <A HREF="GHC.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AModuleName"
>ModuleName</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkModuleName"
>mkModuleName</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmoduleNameString"
>moduleNameString</A
> :: <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AName"
>Name</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisExternalName"
>isExternalName</A
> :: <A HREF="GHC.html#t%3AName"
>Name</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnameModule"
>nameModule</A
> :: <A HREF="GHC.html#t%3AName"
>Name</A
> -&gt; <A HREF="GHC.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprParenSymName"
>pprParenSymName</A
> :: <A HREF="GHC.html#t%3ANamedThing"
>NamedThing</A
> a =&gt; a -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnameSrcSpan"
>nameSrcSpan</A
> :: <A HREF="GHC.html#t%3AName"
>Name</A
> -&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
>  <A HREF="#t%3ANamedThing"
>NamedThing</A
> a  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetOccName"
>getOccName</A
> :: a -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetName"
>getName</A
> :: a -&gt; <A HREF="GHC.html#t%3AName"
>Name</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ARdrName"
>RdrName</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AUnqual"
>Unqual</A
> <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AQual"
>Qual</A
> <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
> <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AId"
>Id</A
> = <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AidType"
>idType</A
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="GHC.html#t%3AKind"
>Kind</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisImplicitId"
>isImplicitId</A
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisDeadBinder"
>isDeadBinder</A
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisExportedId"
>isExportedId</A
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisLocalId"
>isLocalId</A
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisGlobalId"
>isGlobalId</A
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisRecordSelector"
>isRecordSelector</A
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisPrimOpId"
>isPrimOpId</A
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisFCallId"
>isFCallId</A
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisClassOpId_maybe"
>isClassOpId_maybe</A
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3AClass"
>Class</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisDataConWorkId"
>isDataConWorkId</A
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AidDataCon"
>idDataCon</A
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisBottomingId"
>isBottomingId</A
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisDictonaryId"
>isDictonaryId</A
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ArecordSelectorFieldLabel"
>recordSelectorFieldLabel</A
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; (<A HREF="GHC.html#t%3ATyCon"
>TyCon</A
>, <A HREF="TyCon.html#t%3AFieldLabel"
>FieldLabel</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ATyCon"
>TyCon</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtyConTyVars"
>tyConTyVars</A
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; [<A HREF="GHC.html#t%3ATyVar"
>TyVar</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtyConDataCons"
>tyConDataCons</A
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; [<A HREF="GHC.html#t%3ADataCon"
>DataCon</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtyConArity"
>tyConArity</A
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; <A HREF="BasicTypes.html#t%3AArity"
>Arity</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisClassTyCon"
>isClassTyCon</A
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisSynTyCon"
>isSynTyCon</A
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisNewTyCon"
>isNewTyCon</A
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisPrimTyCon"
>isPrimTyCon</A
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisFunTyCon"
>isFunTyCon</A
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisOpenTyCon"
>isOpenTyCon</A
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsynTyConDefn"
>synTyConDefn</A
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; ([<A HREF="GHC.html#t%3ATyVar"
>TyVar</A
>], <A HREF="GHC.html#t%3AType"
>Type</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsynTyConType"
>synTyConType</A
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; <A HREF="GHC.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsynTyConResKind"
>synTyConResKind</A
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; <A HREF="GHC.html#t%3AKind"
>Kind</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ATyVar"
>TyVar</A
> = <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AalphaTyVars"
>alphaTyVars</A
> :: [<A HREF="GHC.html#t%3ATyVar"
>TyVar</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ADataCon"
>DataCon</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdataConSig"
>dataConSig</A
> :: <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
> -&gt; ([<A HREF="GHC.html#t%3ATyVar"
>TyVar</A
>], <A HREF="GHC.html#t%3AThetaType"
>ThetaType</A
>, [<A HREF="GHC.html#t%3AType"
>Type</A
>], <A HREF="GHC.html#t%3AType"
>Type</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdataConType"
>dataConType</A
> :: <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
> -&gt; <A HREF="GHC.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdataConTyCon"
>dataConTyCon</A
> :: <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
> -&gt; <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdataConFieldLabels"
>dataConFieldLabels</A
> :: <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
> -&gt; [<A HREF="TyCon.html#t%3AFieldLabel"
>FieldLabel</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdataConIsInfix"
>dataConIsInfix</A
> :: <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisVanillaDataCon"
>isVanillaDataCon</A
> :: <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdataConStrictMarks"
>dataConStrictMarks</A
> :: <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
> -&gt; [<A HREF="GHC.html#t%3AStrictnessMark"
>StrictnessMark</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AStrictnessMark"
>StrictnessMark</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AMarkedStrict"
>MarkedStrict</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AMarkedUnboxed"
>MarkedUnboxed</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ANotMarkedStrict"
>NotMarkedStrict</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisMarkedStrict"
>isMarkedStrict</A
> :: <A HREF="GHC.html#t%3AStrictnessMark"
>StrictnessMark</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AClass"
>Class</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AclassMethods"
>classMethods</A
> :: <A HREF="GHC.html#t%3AClass"
>Class</A
> -&gt; [<A HREF="GHC.html#t%3AId"
>Id</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AclassSCTheta"
>classSCTheta</A
> :: <A HREF="GHC.html#t%3AClass"
>Class</A
> -&gt; [<A HREF="GHC.html#t%3APredType"
>PredType</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AclassTvsFds"
>classTvsFds</A
> :: <A HREF="GHC.html#t%3AClass"
>Class</A
> -&gt; ([<A HREF="GHC.html#t%3ATyVar"
>TyVar</A
>], [<A HREF="Class.html#t%3AFunDep"
>FunDep</A
> <A HREF="GHC.html#t%3ATyVar"
>TyVar</A
>])</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprFundeps"
>pprFundeps</A
> :: <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> a =&gt; [<A HREF="Class.html#t%3AFunDep"
>FunDep</A
> a] -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AInstance"
>Instance</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinstanceDFunId"
>instanceDFunId</A
> :: <A HREF="GHC.html#t%3AInstance"
>Instance</A
> -&gt; <A HREF="InstEnv.html#t%3ADFunId"
>DFunId</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprInstance"
>pprInstance</A
> :: <A HREF="GHC.html#t%3AInstance"
>Instance</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprInstanceHdr"
>pprInstanceHdr</A
> :: <A HREF="GHC.html#t%3AInstance"
>Instance</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AType"
>Type</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsplitForAllTys"
>splitForAllTys</A
> :: <A HREF="GHC.html#t%3AType"
>Type</A
> -&gt; ([<A HREF="GHC.html#t%3ATyVar"
>TyVar</A
>], <A HREF="GHC.html#t%3AType"
>Type</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfunResultTy"
>funResultTy</A
> :: <A HREF="GHC.html#t%3AType"
>Type</A
> -&gt; <A HREF="GHC.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprParendType"
>pprParendType</A
> :: <A HREF="GHC.html#t%3AType"
>Type</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprTypeApp"
>pprTypeApp</A
> :: <A HREF="GHC.html#t%3ANamedThing"
>NamedThing</A
> a =&gt; a -&gt; [<A HREF="GHC.html#t%3AType"
>Type</A
>] -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AKind"
>Kind</A
> = <A HREF="GHC.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3APredType"
>PredType</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AThetaType"
>ThetaType</A
> = [<A HREF="GHC.html#t%3APredType"
>PredType</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprThetaArrow"
>pprThetaArrow</A
> :: <A HREF="GHC.html#t%3AThetaType"
>ThetaType</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ATyThing"
>TyThing</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AAnId"
>AnId</A
> <A HREF="GHC.html#t%3AId"
>Id</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AADataCon"
>ADataCon</A
> <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AATyCon"
>ATyCon</A
> <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AAClass"
>AClass</A
> <A HREF="GHC.html#t%3AClass"
>Class</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
>module <A HREF="HsSyn.html"
>HsSyn</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AFixityDirection"
>FixityDirection</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AInfixL"
>InfixL</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInfixR"
>InfixR</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInfixN"
>InfixN</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdefaultFixity"
>defaultFixity</A
> :: <A HREF="BasicTypes.html#t%3AFixity"
>Fixity</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmaxPrecedence"
>maxPrecedence</A
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnegateFixity"
>negateFixity</A
> :: <A HREF="BasicTypes.html#t%3AFixity"
>Fixity</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcompareFixity"
>compareFixity</A
> :: <A HREF="BasicTypes.html#t%3AFixity"
>Fixity</A
> -&gt; <A HREF="BasicTypes.html#t%3AFixity"
>Fixity</A
> -&gt; (<A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>, <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ASrcLoc"
>SrcLoc</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprDefnLoc"
>pprDefnLoc</A
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkSrcLoc"
>mkSrcLoc</A
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisGoodSrcLoc"
>isGoodSrcLoc</A
> :: <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnoSrcLoc"
>noSrcLoc</A
> :: <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcLocFile"
>srcLocFile</A
> :: <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="FastString.html#t%3AFastString"
>FastString</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcLocLine"
>srcLocLine</A
> :: <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcLocCol"
>srcLocCol</A
> :: <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ASrcSpan"
>SrcSpan</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkSrcSpan"
>mkSrcSpan</A
> :: <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcLocSpan"
>srcLocSpan</A
> :: <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisGoodSrcSpan"
>isGoodSrcSpan</A
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnoSrcSpan"
>noSrcSpan</A
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcSpanStart"
>srcSpanStart</A
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcSpanEnd"
>srcSpanEnd</A
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcSpanFile"
>srcSpanFile</A
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="FastString.html#t%3AFastString"
>FastString</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcSpanStartLine"
>srcSpanStartLine</A
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcSpanEndLine"
>srcSpanEndLine</A
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcSpanStartCol"
>srcSpanStartCol</A
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcSpanEndCol"
>srcSpanEndCol</A
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ALocated"
>Located</A
> e = <A HREF="#v%3AL"
>L</A
> <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnoLoc"
>noLoc</A
> ::  e -&gt; <A HREF="GHC.html#t%3ALocated"
>Located</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkGeneralLocated"
>mkGeneralLocated</A
> ::  <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; e -&gt; <A HREF="GHC.html#t%3ALocated"
>Located</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetLoc"
>getLoc</A
> ::  <A HREF="GHC.html#t%3ALocated"
>Located</A
> e -&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunLoc"
>unLoc</A
> ::  <A HREF="GHC.html#t%3ALocated"
>Located</A
> e -&gt; e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AeqLocated"
>eqLocated</A
> :: <A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> a =&gt; <A HREF="GHC.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="GHC.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcmpLocated"
>cmpLocated</A
> :: <A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> a =&gt; <A HREF="GHC.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="GHC.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcombineLocs"
>combineLocs</A
> ::  <A HREF="GHC.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="GHC.html#t%3ALocated"
>Located</A
> b -&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AaddCLoc"
>addCLoc</A
> ::  <A HREF="GHC.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="GHC.html#t%3ALocated"
>Located</A
> b -&gt; c -&gt; <A HREF="GHC.html#t%3ALocated"
>Located</A
> c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aleftmost_smallest"
>leftmost_smallest</A
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aleftmost_largest"
>leftmost_largest</A
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Arightmost"
>rightmost</A
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aspans"
>spans</A
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>, <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>) -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisSubspanOf"
>isSubspanOf</A
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AGhcException"
>GhcException</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3APhaseFailed"
>PhaseFailed</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> <A HREF="../base/System-Exit.html#t%3AExitCode"
>ExitCode</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInterrupted"
>Interrupted</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AUsageError"
>UsageError</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACmdLineError"
>CmdLineError</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APanic"
>Panic</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInstallationError"
>InstallationError</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AProgramError"
>ProgramError</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AshowGhcException"
>showGhcException</A
> :: <A HREF="GHC.html#t%3AGhcException"
>GhcException</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AToken"
>Token</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetTokenStream"
>getTokenStream</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModule"
>Module</A
> -&gt; m [<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="GHC.html#t%3AToken"
>Token</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetRichTokenStream"
>getRichTokenStream</A
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModule"
>Module</A
> -&gt; m [(<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="GHC.html#t%3AToken"
>Token</A
>, <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>)]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AshowRichTokenStream"
>showRichTokenStream</A
> :: [(<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="GHC.html#t%3AToken"
>Token</A
>, <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>)] -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AaddSourceToTokens"
>addSourceToTokens</A
> :: <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="StringBuffer.html#t%3AStringBuffer"
>StringBuffer</A
> -&gt; [<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="GHC.html#t%3AToken"
>Token</A
>] -&gt; [(<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="GHC.html#t%3AToken"
>Token</A
>, <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>)]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcyclicModuleErr"
>cyclicModuleErr</A
> :: [<A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
>] -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
><A NAME="1"
>Initialisation
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:defaultErrorHandler"
><A NAME="v%3AdefaultErrorHandler"
></A
></A
><B
>defaultErrorHandler</B
> :: (<A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> m, <A HREF="MonadUtils.html#t%3AMonadIO"
>MonadIO</A
> m) =&gt; <A HREF="GHC.html#t%3ADynFlags"
>DynFlags</A
> -&gt; m a -&gt; m a</TD
></TR
><TR
><TD CLASS="doc"
>Install some default exception handlers and run the inner computation.
 Unless you want to handle exceptions yourself, you should wrap this around
 the top level of your program.  The default handlers output the error
 message(s) to stderr and exit cleanly.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:defaultCleanupHandler"
><A NAME="v%3AdefaultCleanupHandler"
></A
></A
><B
>defaultCleanupHandler</B
> :: (<A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> m, <A HREF="MonadUtils.html#t%3AMonadIO"
>MonadIO</A
> m) =&gt; <A HREF="GHC.html#t%3ADynFlags"
>DynFlags</A
> -&gt; m a -&gt; m a</TD
></TR
><TR
><TD CLASS="doc"
>Install a default cleanup handler to remove temporary files deposited by
 a GHC run.  This is seperate from <TT
><A HREF="GHC.html#v%3AdefaultErrorHandler"
>defaultErrorHandler</A
></TT
>, because you might
 want to override the error handling, but still get the ordinary cleanup
 behaviour.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="2"
><A NAME="2"
>GHC Monad
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Ghc"
><A NAME="t%3AGhc"
></A
></A
><B
>Ghc</B
> a </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A minimal implementation of a <TT
><A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
></TT
>.  If you need a custom monad,
 e.g., to maintain additional state consider wrapping this monad or using
 <TT
><A HREF="GHC.html#t%3AGhcT"
>GhcT</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Ghc')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Ghc" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Control-Monad.html#t%3AMonad"
>Monad</A
> <A HREF="GHC.html#t%3AGhc"
>Ghc</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="GHC.html#t%3AGhc"
>Ghc</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="MonadUtils.html#t%3AMonadIO"
>MonadIO</A
> <A HREF="GHC.html#t%3AGhc"
>Ghc</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> <A HREF="GHC.html#t%3AGhc"
>Ghc</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> <A HREF="GHC.html#t%3AGhc"
>Ghc</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="HscTypes.html#t%3AWarnLogMonad"
>WarnLogMonad</A
> <A HREF="GHC.html#t%3AGhc"
>Ghc</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:GhcT"
><A NAME="t%3AGhcT"
></A
></A
><B
>GhcT</B
> m a </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>A monad transformer to add GHC specific features to another monad.
</P
><P
>Note that the wrapped monad must support IO and handling of exceptions.
</P
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:GhcT')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:GhcT" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Control-Monad.html#t%3AMonad"
>Monad</A
> m =&gt; <A HREF="../base/Control-Monad.html#t%3AMonad"
>Monad</A
> (<A HREF="GHC.html#t%3AGhcT"
>GhcT</A
> m)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Control-Monad.html#t%3AFunctor"
>Functor</A
> m =&gt; <A HREF="../base/Control-Monad.html#t%3AFunctor"
>Functor</A
> (<A HREF="GHC.html#t%3AGhcT"
>GhcT</A
> m)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="MonadUtils.html#t%3AMonadIO"
>MonadIO</A
> m =&gt; <A HREF="MonadUtils.html#t%3AMonadIO"
>MonadIO</A
> (<A HREF="GHC.html#t%3AGhcT"
>GhcT</A
> m)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> m =&gt; <A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> (<A HREF="GHC.html#t%3AGhcT"
>GhcT</A
> m)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="../base/Control-Monad.html#t%3AFunctor"
>Functor</A
> m, <A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> m, <A HREF="MonadUtils.html#t%3AMonadIO"
>MonadIO</A
> m) =&gt; <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> (<A HREF="GHC.html#t%3AGhcT"
>GhcT</A
> m)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="MonadUtils.html#t%3AMonadIO"
>MonadIO</A
> m =&gt; <A HREF="HscTypes.html#t%3AWarnLogMonad"
>WarnLogMonad</A
> (<A HREF="GHC.html#t%3AGhcT"
>GhcT</A
> m)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> (<A HREF="../base/Control-Monad.html#t%3AFunctor"
>Functor</A
> m, <A HREF="MonadUtils.html#t%3AMonadIO"
>MonadIO</A
> m, <A HREF="HscTypes.html#t%3AWarnLogMonad"
>WarnLogMonad</A
> m, <A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> m) =&gt; <A NAME="t:GhcMonad"
><A NAME="t%3AGhcMonad"
></A
></A
><B
>GhcMonad</B
> m  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>A monad that has all the features needed by GHC API calls.
</P
><P
>In short, a GHC monad
</P
><UL
><LI
> allows embedding of IO actions,
</LI
><LI
> can log warnings,
</LI
><LI
> allows handling of (extensible) exceptions, and
</LI
><LI
> maintains a current session.
</LI
></UL
><P
>If you do not use <TT
><A HREF="GHC.html#t%3AGhc"
>Ghc</A
></TT
> or <TT
><A HREF="GHC.html#t%3AGhcT"
>GhcT</A
></TT
>, make sure to call GHC.initGhcMonad
 before any call to the GHC API functions can occur.
</P
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Methods</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A NAME="v:getSession"
><A NAME="v%3AgetSession"
></A
></A
><B
>getSession</B
> :: m <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setSession"
><A NAME="v%3AsetSession"
></A
></A
><B
>setSession</B
> :: <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:GhcMonad')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:GhcMonad" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> <A HREF="GHC.html#t%3AGhc"
>Ghc</A
></TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="../base/Control-Monad.html#t%3AFunctor"
>Functor</A
> m, <A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> m, <A HREF="MonadUtils.html#t%3AMonadIO"
>MonadIO</A
> m) =&gt; <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> (<A HREF="GHC.html#t%3AGhcT"
>GhcT</A
> m)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:runGhc"
><A NAME="v%3ArunGhc"
></A
></A
><B
>runGhc</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: </TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>=&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
>See argument to <TT
><A HREF="GHC.html#v%3AinitGhcMonad"
>initGhcMonad</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="GHC.html#t%3AGhc"
>Ghc</A
> a</TD
><TD CLASS="rdoc"
>The action to perform.
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> a</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
><P
>Run function for the <TT
><A HREF="GHC.html#t%3AGhc"
>Ghc</A
></TT
> monad.
</P
><P
>It initialises the GHC session and warnings via <TT
><A HREF="GHC.html#v%3AinitGhcMonad"
>initGhcMonad</A
></TT
>.  Each call
 to this function will create a new session which should not be shared among
 several threads.
</P
><P
>Any errors not handled inside the <TT
><A HREF="GHC.html#t%3AGhc"
>Ghc</A
></TT
> action are propagated as IO
 exceptions.
</P
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:runGhcT"
><A NAME="v%3ArunGhcT"
></A
></A
><B
>runGhcT</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: (<A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> m, <A HREF="../base/Control-Monad.html#t%3AFunctor"
>Functor</A
> m, <A HREF="MonadUtils.html#t%3AMonadIO"
>MonadIO</A
> m)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>=&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
>See argument to <TT
><A HREF="GHC.html#v%3AinitGhcMonad"
>initGhcMonad</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="GHC.html#t%3AGhcT"
>GhcT</A
> m a</TD
><TD CLASS="rdoc"
>The action to perform.
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; m a</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
><P
>Run function for <TT
><A HREF="GHC.html#t%3AGhcT"
>GhcT</A
></TT
> monad transformer.
</P
><P
>It initialises the GHC session and warnings via <TT
><A HREF="GHC.html#v%3AinitGhcMonad"
>initGhcMonad</A
></TT
>.  Each call
 to this function will create a new session which should not be shared among
 several threads.
</P
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:initGhcMonad"
><A NAME="v%3AinitGhcMonad"
></A
></A
><B
>initGhcMonad</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Initialise a GHC session.
</P
><P
>If you implement a custom <TT
><A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
></TT
> you must call this function in the
 monad run function.  It will initialise the session variable and clear all
 warnings.
</P
><P
>The first argument should point to the directory where GHC's library files
 reside.  More precisely, this should be the output of <TT
>ghc --print-libdir</TT
>
 of the version of GHC the module using this API is compiled with.  For
 portability, you should use the <TT
>ghc-paths</TT
> package, available at
 <A HREF="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ghc-paths"
>http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ghc-paths</A
>.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gcatch"
><A NAME="v%3Agcatch"
></A
></A
><B
>gcatch</B
> :: (<A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> m, <A HREF="../base/Control-Exception-Base.html#t%3AException"
>Exception</A
> e) =&gt; m a -&gt; (e -&gt; m a) -&gt; m a</TD
></TR
><TR
><TD CLASS="doc"
>Generalised version of <TT
><A HREF="../base/Control-Exception-Base.html#v%3Acatch"
>catch</A
></TT
>, allowing an arbitrary
 exception handling monad instead of just <TT
><A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gbracket"
><A NAME="v%3Agbracket"
></A
></A
><B
>gbracket</B
> :: <A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> m =&gt; m a -&gt; (a -&gt; m b) -&gt; (a -&gt; m c) -&gt; m c</TD
></TR
><TR
><TD CLASS="doc"
>Generalised version of <TT
><A HREF="../base/Control-Exception-Base.html#v%3Abracket"
>bracket</A
></TT
>, allowing an arbitrary
 exception handling monad instead of just <TT
><A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gfinally"
><A NAME="v%3Agfinally"
></A
></A
><B
>gfinally</B
> :: <A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> m =&gt; m a -&gt; m b -&gt; m a</TD
></TR
><TR
><TD CLASS="doc"
>Generalised version of <TT
><A HREF="../base/Control-Exception-Base.html#v%3Afinally"
>finally</A
></TT
>, allowing an arbitrary
 exception handling monad instead of just <TT
><A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:clearWarnings"
><A NAME="v%3AclearWarnings"
></A
></A
><B
>clearWarnings</B
> :: <A HREF="HscTypes.html#t%3AWarnLogMonad"
>WarnLogMonad</A
> m =&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
>Clear the log of <TT
><A HREF="HscTypes.html#t%3AWarnings"
>Warnings</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getWarnings"
><A NAME="v%3AgetWarnings"
></A
></A
><B
>getWarnings</B
> :: <A HREF="HscTypes.html#t%3AWarnLogMonad"
>WarnLogMonad</A
> m =&gt; m <A HREF="ErrUtils.html#t%3AWarningMessages"
>WarningMessages</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hasWarnings"
><A NAME="v%3AhasWarnings"
></A
></A
><B
>hasWarnings</B
> :: <A HREF="HscTypes.html#t%3AWarnLogMonad"
>WarnLogMonad</A
> m =&gt; m <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Returns true if there were any warnings.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:printExceptionAndWarnings"
><A NAME="v%3AprintExceptionAndWarnings"
></A
></A
><B
>printExceptionAndWarnings</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="HscTypes.html#t%3ASourceError"
>SourceError</A
> -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
>Print the error message and all warnings.  Useful inside exception
   handlers.  Clears warnings after printing.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:printWarnings"
><A NAME="v%3AprintWarnings"
></A
></A
><B
>printWarnings</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
>Print all accumulated warnings using <TT
><A HREF="GHC.html#v%3Alog_action"
>log_action</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:handleSourceError"
><A NAME="v%3AhandleSourceError"
></A
></A
><B
>handleSourceError</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="Exception.html#t%3AExceptionMonad"
>ExceptionMonad</A
> m</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>=&gt; <A HREF="HscTypes.html#t%3ASourceError"
>SourceError</A
> -&gt; m a</TD
><TD CLASS="rdoc"
>exception handler
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; m a</TD
><TD CLASS="rdoc"
>action to perform
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; m a</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
>Perform the given action and call the exception handler if the action
 throws a <TT
><A HREF="HscTypes.html#t%3ASourceError"
>SourceError</A
></TT
>.  See <TT
><A HREF="HscTypes.html#t%3ASourceError"
>SourceError</A
></TT
> for more information.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="3"
><A NAME="3"
>Flags and settings
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:DynFlags"
><A NAME="t%3ADynFlags"
></A
></A
><B
>DynFlags</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Contains not only a collection of <TT
><A HREF="GHC.html#t%3ADynFlag"
>DynFlag</A
></TT
>s but also a plethora of
 information relating to the compilation of a single file or GHC session
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:DynFlags"
><A NAME="v%3ADynFlags"
></A
></A
><B
>DynFlags</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:ghcMode"
><A NAME="v%3AghcMode"
></A
></A
><B
>ghcMode</B
> :: <A HREF="GHC.html#t%3AGhcMode"
>GhcMode</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ghcLink"
><A NAME="v%3AghcLink"
></A
></A
><B
>ghcLink</B
> :: <A HREF="GHC.html#t%3AGhcLink"
>GhcLink</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:coreToDo"
><A NAME="v%3AcoreToDo"
></A
></A
><B
>coreToDo</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="DynFlags.html#t%3ACoreToDo"
>CoreToDo</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:stgToDo"
><A NAME="v%3AstgToDo"
></A
></A
><B
>stgToDo</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="DynFlags.html#t%3AStgToDo"
>StgToDo</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:hscTarget"
><A NAME="v%3AhscTarget"
></A
></A
><B
>hscTarget</B
> :: <A HREF="GHC.html#t%3AHscTarget"
>HscTarget</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:hscOutName"
><A NAME="v%3AhscOutName"
></A
></A
><B
>hscOutName</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>Name of the output file
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:extCoreName"
><A NAME="v%3AextCoreName"
></A
></A
><B
>extCoreName</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>Name of the .hcr output file
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:verbosity"
><A NAME="v%3Averbosity"
></A
></A
><B
>verbosity</B
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
><TD CLASS="rdoc"
>Verbosity level: see <A HREF="DynFlags.html#verbosity_levels"
>DynFlags</A
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:optLevel"
><A NAME="v%3AoptLevel"
></A
></A
><B
>optLevel</B
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
><TD CLASS="rdoc"
>Optimisation level
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:simplPhases"
><A NAME="v%3AsimplPhases"
></A
></A
><B
>simplPhases</B
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
><TD CLASS="rdoc"
>Number of simplifier phases
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:maxSimplIterations"
><A NAME="v%3AmaxSimplIterations"
></A
></A
><B
>maxSimplIterations</B
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
><TD CLASS="rdoc"
>Max simplifier iterations
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:shouldDumpSimplPhase"
><A NAME="v%3AshouldDumpSimplPhase"
></A
></A
><B
>shouldDumpSimplPhase</B
> :: <A HREF="DynFlags.html#t%3ASimplifierMode"
>SimplifierMode</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ruleCheck"
><A NAME="v%3AruleCheck"
></A
></A
><B
>ruleCheck</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:specConstrThreshold"
><A NAME="v%3AspecConstrThreshold"
></A
></A
><B
>specConstrThreshold</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
><TD CLASS="rdoc"
>Threshold for SpecConstr
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:specConstrCount"
><A NAME="v%3AspecConstrCount"
></A
></A
><B
>specConstrCount</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
><TD CLASS="rdoc"
>Max number of specialisations for any one function
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:liberateCaseThreshold"
><A NAME="v%3AliberateCaseThreshold"
></A
></A
><B
>liberateCaseThreshold</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
><TD CLASS="rdoc"
>Threshold for LiberateCase
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:stolen_x86_regs"
><A NAME="v%3Astolen_x86_regs"
></A
></A
><B
>stolen_x86_regs</B
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:cmdlineHcIncludes"
><A NAME="v%3AcmdlineHcIncludes"
></A
></A
><B
>cmdlineHcIncludes</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
><PRE
>-#includes</PRE
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:importPaths"
><A NAME="v%3AimportPaths"
></A
></A
><B
>importPaths</B
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:mainModIs"
><A NAME="v%3AmainModIs"
></A
></A
><B
>mainModIs</B
> :: <A HREF="GHC.html#t%3AModule"
>Module</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:mainFunIs"
><A NAME="v%3AmainFunIs"
></A
></A
><B
>mainFunIs</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ctxtStkDepth"
><A NAME="v%3ActxtStkDepth"
></A
></A
><B
>ctxtStkDepth</B
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
><TD CLASS="rdoc"
>Typechecker context stack depth
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:dphBackend"
><A NAME="v%3AdphBackend"
></A
></A
><B
>dphBackend</B
> :: DPHBackend</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:thisPackage"
><A NAME="v%3AthisPackage"
></A
></A
><B
>thisPackage</B
> :: <A HREF="GHC.html#t%3APackageId"
>PackageId</A
></TD
><TD CLASS="rdoc"
>name of package currently being compiled
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:wayNames"
><A NAME="v%3AwayNames"
></A
></A
><B
>wayNames</B
> :: [<A HREF="StaticFlags.html#t%3AWayName"
>WayName</A
>]</TD
><TD CLASS="rdoc"
>Way flags from the command line
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:buildTag"
><A NAME="v%3AbuildTag"
></A
></A
><B
>buildTag</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>The global &quot;way&quot; (e.g. &quot;p&quot; for prof)
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:rtsBuildTag"
><A NAME="v%3ArtsBuildTag"
></A
></A
><B
>rtsBuildTag</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>The RTS &quot;way&quot;
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:objectDir"
><A NAME="v%3AobjectDir"
></A
></A
><B
>objectDir</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:hiDir"
><A NAME="v%3AhiDir"
></A
></A
><B
>hiDir</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:stubDir"
><A NAME="v%3AstubDir"
></A
></A
><B
>stubDir</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:objectSuf"
><A NAME="v%3AobjectSuf"
></A
></A
><B
>objectSuf</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:hcSuf"
><A NAME="v%3AhcSuf"
></A
></A
><B
>hcSuf</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:hiSuf"
><A NAME="v%3AhiSuf"
></A
></A
><B
>hiSuf</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:outputFile"
><A NAME="v%3AoutputFile"
></A
></A
><B
>outputFile</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:outputHi"
><A NAME="v%3AoutputHi"
></A
></A
><B
>outputHi</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:dynLibLoader"
><A NAME="v%3AdynLibLoader"
></A
></A
><B
>dynLibLoader</B
> :: <A HREF="DynFlags.html#t%3ADynLibLoader"
>DynLibLoader</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:dumpPrefix"
><A NAME="v%3AdumpPrefix"
></A
></A
><B
>dumpPrefix</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
>This is set by DriverPipeline.runPipeline based on where
    its output is going.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:dumpPrefixForce"
><A NAME="v%3AdumpPrefixForce"
></A
></A
><B
>dumpPrefixForce</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
>Override the <TT
><A HREF="GHC.html#v%3AdumpPrefix"
>dumpPrefix</A
></TT
> set by DriverPipeline.runPipeline.
    Set by <TT
>-ddump-file-prefix</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:includePaths"
><A NAME="v%3AincludePaths"
></A
></A
><B
>includePaths</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:libraryPaths"
><A NAME="v%3AlibraryPaths"
></A
></A
><B
>libraryPaths</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:frameworkPaths"
><A NAME="v%3AframeworkPaths"
></A
></A
><B
>frameworkPaths</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:cmdlineFrameworks"
><A NAME="v%3AcmdlineFrameworks"
></A
></A
><B
>cmdlineFrameworks</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:tmpDir"
><A NAME="v%3AtmpDir"
></A
></A
><B
>tmpDir</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ghcUsagePath"
><A NAME="v%3AghcUsagePath"
></A
></A
><B
>ghcUsagePath</B
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ghciUsagePath"
><A NAME="v%3AghciUsagePath"
></A
></A
><B
>ghciUsagePath</B
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:hpcDir"
><A NAME="v%3AhpcDir"
></A
></A
><B
>hpcDir</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>Path to store the .mix files
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:opt_L"
><A NAME="v%3Aopt_L"
></A
></A
><B
>opt_L</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:opt_P"
><A NAME="v%3Aopt_P"
></A
></A
><B
>opt_P</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:opt_F"
><A NAME="v%3Aopt_F"
></A
></A
><B
>opt_F</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:opt_c"
><A NAME="v%3Aopt_c"
></A
></A
><B
>opt_c</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:opt_m"
><A NAME="v%3Aopt_m"
></A
></A
><B
>opt_m</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:opt_a"
><A NAME="v%3Aopt_a"
></A
></A
><B
>opt_a</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:opt_l"
><A NAME="v%3Aopt_l"
></A
></A
><B
>opt_l</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:opt_windres"
><A NAME="v%3Aopt_windres"
></A
></A
><B
>opt_windres</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:pgm_L"
><A NAME="v%3Apgm_L"
></A
></A
><B
>pgm_L</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:pgm_P"
><A NAME="v%3Apgm_P"
></A
></A
><B
>pgm_P</B
> :: (<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, [<A HREF="DynFlags.html#t%3AOption"
>Option</A
>])</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:pgm_F"
><A NAME="v%3Apgm_F"
></A
></A
><B
>pgm_F</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:pgm_c"
><A NAME="v%3Apgm_c"
></A
></A
><B
>pgm_c</B
> :: (<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, [<A HREF="DynFlags.html#t%3AOption"
>Option</A
>])</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:pgm_m"
><A NAME="v%3Apgm_m"
></A
></A
><B
>pgm_m</B
> :: (<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, [<A HREF="DynFlags.html#t%3AOption"
>Option</A
>])</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:pgm_s"
><A NAME="v%3Apgm_s"
></A
></A
><B
>pgm_s</B
> :: (<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, [<A HREF="DynFlags.html#t%3AOption"
>Option</A
>])</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:pgm_a"
><A NAME="v%3Apgm_a"
></A
></A
><B
>pgm_a</B
> :: (<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, [<A HREF="DynFlags.html#t%3AOption"
>Option</A
>])</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:pgm_l"
><A NAME="v%3Apgm_l"
></A
></A
><B
>pgm_l</B
> :: (<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, [<A HREF="DynFlags.html#t%3AOption"
>Option</A
>])</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:pgm_dll"
><A NAME="v%3Apgm_dll"
></A
></A
><B
>pgm_dll</B
> :: (<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>, [<A HREF="DynFlags.html#t%3AOption"
>Option</A
>])</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:pgm_T"
><A NAME="v%3Apgm_T"
></A
></A
><B
>pgm_T</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:pgm_sysman"
><A NAME="v%3Apgm_sysman"
></A
></A
><B
>pgm_sysman</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:pgm_windres"
><A NAME="v%3Apgm_windres"
></A
></A
><B
>pgm_windres</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:depMakefile"
><A NAME="v%3AdepMakefile"
></A
></A
><B
>depMakefile</B
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:depIncludePkgDeps"
><A NAME="v%3AdepIncludePkgDeps"
></A
></A
><B
>depIncludePkgDeps</B
> :: <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:depExcludeMods"
><A NAME="v%3AdepExcludeMods"
></A
></A
><B
>depExcludeMods</B
> :: [<A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:depSuffixes"
><A NAME="v%3AdepSuffixes"
></A
></A
><B
>depSuffixes</B
> :: [<A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:extraPkgConfs"
><A NAME="v%3AextraPkgConfs"
></A
></A
><B
>extraPkgConfs</B
> :: [<A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:topDir"
><A NAME="v%3AtopDir"
></A
></A
><B
>topDir</B
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:systemPackageConfig"
><A NAME="v%3AsystemPackageConfig"
></A
></A
><B
>systemPackageConfig</B
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
>The <TT
>-package-conf</TT
> flags given on the command line, in the order
 they appeared.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:packageFlags"
><A NAME="v%3ApackageFlags"
></A
></A
><B
>packageFlags</B
> :: [<A HREF="DynFlags.html#t%3APackageFlag"
>PackageFlag</A
>]</TD
><TD CLASS="rdoc"
>The <TT
>-package</TT
> and <TT
>-hide-package</TT
> flags from the command-line
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:pkgDatabase"
><A NAME="v%3ApkgDatabase"
></A
></A
><B
>pkgDatabase</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="UniqFM.html#t%3AUniqFM"
>UniqFM</A
> <A HREF="PackageConfig.html#t%3APackageConfig"
>PackageConfig</A
>)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:pkgState"
><A NAME="v%3ApkgState"
></A
></A
><B
>pkgState</B
> :: <A HREF="Packages.html#t%3APackageState"
>PackageState</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:flags"
><A NAME="v%3Aflags"
></A
></A
><B
>flags</B
> :: [<A HREF="GHC.html#t%3ADynFlag"
>DynFlag</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:log_action"
><A NAME="v%3Alog_action"
></A
></A
><B
>log_action</B
> :: <A HREF="GHC.html#t%3ASeverity"
>Severity</A
> -&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="Outputable.html#t%3APprStyle"
>PprStyle</A
> -&gt; <A HREF="ErrUtils.html#t%3AMessage"
>Message</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
><TD CLASS="rdoc"
>Message output action: use <A HREF="ErrUtils.html"
>ErrUtils</A
> instead of this if you can
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:haddockOptions"
><A NAME="v%3AhaddockOptions"
></A
></A
><B
>haddockOptions</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:DynFlag"
><A NAME="t%3ADynFlag"
></A
></A
><B
>DynFlag</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Enumerates the simple on-or-off dynamic flags
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_cmm"
><A NAME="v%3AOpt_D_dump_cmm"
></A
></A
><B
>Opt_D_dump_cmm</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_cmmz"
><A NAME="v%3AOpt_D_dump_cmmz"
></A
></A
><B
>Opt_D_dump_cmmz</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_cmmz_pretty"
><A NAME="v%3AOpt_D_dump_cmmz_pretty"
></A
></A
><B
>Opt_D_dump_cmmz_pretty</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_cps_cmm"
><A NAME="v%3AOpt_D_dump_cps_cmm"
></A
></A
><B
>Opt_D_dump_cps_cmm</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_cvt_cmm"
><A NAME="v%3AOpt_D_dump_cvt_cmm"
></A
></A
><B
>Opt_D_dump_cvt_cmm</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_asm"
><A NAME="v%3AOpt_D_dump_asm"
></A
></A
><B
>Opt_D_dump_asm</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_asm_native"
><A NAME="v%3AOpt_D_dump_asm_native"
></A
></A
><B
>Opt_D_dump_asm_native</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_asm_liveness"
><A NAME="v%3AOpt_D_dump_asm_liveness"
></A
></A
><B
>Opt_D_dump_asm_liveness</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_asm_coalesce"
><A NAME="v%3AOpt_D_dump_asm_coalesce"
></A
></A
><B
>Opt_D_dump_asm_coalesce</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_asm_regalloc"
><A NAME="v%3AOpt_D_dump_asm_regalloc"
></A
></A
><B
>Opt_D_dump_asm_regalloc</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_asm_regalloc_stages"
><A NAME="v%3AOpt_D_dump_asm_regalloc_stages"
></A
></A
><B
>Opt_D_dump_asm_regalloc_stages</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_asm_conflicts"
><A NAME="v%3AOpt_D_dump_asm_conflicts"
></A
></A
><B
>Opt_D_dump_asm_conflicts</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_asm_stats"
><A NAME="v%3AOpt_D_dump_asm_stats"
></A
></A
><B
>Opt_D_dump_asm_stats</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_cpranal"
><A NAME="v%3AOpt_D_dump_cpranal"
></A
></A
><B
>Opt_D_dump_cpranal</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_deriv"
><A NAME="v%3AOpt_D_dump_deriv"
></A
></A
><B
>Opt_D_dump_deriv</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_ds"
><A NAME="v%3AOpt_D_dump_ds"
></A
></A
><B
>Opt_D_dump_ds</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_flatC"
><A NAME="v%3AOpt_D_dump_flatC"
></A
></A
><B
>Opt_D_dump_flatC</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_foreign"
><A NAME="v%3AOpt_D_dump_foreign"
></A
></A
><B
>Opt_D_dump_foreign</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_inlinings"
><A NAME="v%3AOpt_D_dump_inlinings"
></A
></A
><B
>Opt_D_dump_inlinings</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_rule_firings"
><A NAME="v%3AOpt_D_dump_rule_firings"
></A
></A
><B
>Opt_D_dump_rule_firings</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_occur_anal"
><A NAME="v%3AOpt_D_dump_occur_anal"
></A
></A
><B
>Opt_D_dump_occur_anal</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_parsed"
><A NAME="v%3AOpt_D_dump_parsed"
></A
></A
><B
>Opt_D_dump_parsed</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_rn"
><A NAME="v%3AOpt_D_dump_rn"
></A
></A
><B
>Opt_D_dump_rn</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_simpl"
><A NAME="v%3AOpt_D_dump_simpl"
></A
></A
><B
>Opt_D_dump_simpl</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_simpl_iterations"
><A NAME="v%3AOpt_D_dump_simpl_iterations"
></A
></A
><B
>Opt_D_dump_simpl_iterations</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_simpl_phases"
><A NAME="v%3AOpt_D_dump_simpl_phases"
></A
></A
><B
>Opt_D_dump_simpl_phases</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_spec"
><A NAME="v%3AOpt_D_dump_spec"
></A
></A
><B
>Opt_D_dump_spec</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_prep"
><A NAME="v%3AOpt_D_dump_prep"
></A
></A
><B
>Opt_D_dump_prep</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_stg"
><A NAME="v%3AOpt_D_dump_stg"
></A
></A
><B
>Opt_D_dump_stg</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_stranal"
><A NAME="v%3AOpt_D_dump_stranal"
></A
></A
><B
>Opt_D_dump_stranal</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_tc"
><A NAME="v%3AOpt_D_dump_tc"
></A
></A
><B
>Opt_D_dump_tc</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_types"
><A NAME="v%3AOpt_D_dump_types"
></A
></A
><B
>Opt_D_dump_types</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_rules"
><A NAME="v%3AOpt_D_dump_rules"
></A
></A
><B
>Opt_D_dump_rules</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_cse"
><A NAME="v%3AOpt_D_dump_cse"
></A
></A
><B
>Opt_D_dump_cse</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_worker_wrapper"
><A NAME="v%3AOpt_D_dump_worker_wrapper"
></A
></A
><B
>Opt_D_dump_worker_wrapper</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_rn_trace"
><A NAME="v%3AOpt_D_dump_rn_trace"
></A
></A
><B
>Opt_D_dump_rn_trace</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_rn_stats"
><A NAME="v%3AOpt_D_dump_rn_stats"
></A
></A
><B
>Opt_D_dump_rn_stats</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_opt_cmm"
><A NAME="v%3AOpt_D_dump_opt_cmm"
></A
></A
><B
>Opt_D_dump_opt_cmm</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_simpl_stats"
><A NAME="v%3AOpt_D_dump_simpl_stats"
></A
></A
><B
>Opt_D_dump_simpl_stats</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_tc_trace"
><A NAME="v%3AOpt_D_dump_tc_trace"
></A
></A
><B
>Opt_D_dump_tc_trace</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_if_trace"
><A NAME="v%3AOpt_D_dump_if_trace"
></A
></A
><B
>Opt_D_dump_if_trace</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_splices"
><A NAME="v%3AOpt_D_dump_splices"
></A
></A
><B
>Opt_D_dump_splices</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_BCOs"
><A NAME="v%3AOpt_D_dump_BCOs"
></A
></A
><B
>Opt_D_dump_BCOs</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_vect"
><A NAME="v%3AOpt_D_dump_vect"
></A
></A
><B
>Opt_D_dump_vect</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_hpc"
><A NAME="v%3AOpt_D_dump_hpc"
></A
></A
><B
>Opt_D_dump_hpc</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_rtti"
><A NAME="v%3AOpt_D_dump_rtti"
></A
></A
><B
>Opt_D_dump_rtti</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_source_stats"
><A NAME="v%3AOpt_D_source_stats"
></A
></A
><B
>Opt_D_source_stats</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_verbose_core2core"
><A NAME="v%3AOpt_D_verbose_core2core"
></A
></A
><B
>Opt_D_verbose_core2core</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_verbose_stg2stg"
><A NAME="v%3AOpt_D_verbose_stg2stg"
></A
></A
><B
>Opt_D_verbose_stg2stg</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_hi"
><A NAME="v%3AOpt_D_dump_hi"
></A
></A
><B
>Opt_D_dump_hi</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_hi_diffs"
><A NAME="v%3AOpt_D_dump_hi_diffs"
></A
></A
><B
>Opt_D_dump_hi_diffs</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_minimal_imports"
><A NAME="v%3AOpt_D_dump_minimal_imports"
></A
></A
><B
>Opt_D_dump_minimal_imports</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_mod_cycles"
><A NAME="v%3AOpt_D_dump_mod_cycles"
></A
></A
><B
>Opt_D_dump_mod_cycles</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_dump_view_pattern_commoning"
><A NAME="v%3AOpt_D_dump_view_pattern_commoning"
></A
></A
><B
>Opt_D_dump_view_pattern_commoning</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_faststring_stats"
><A NAME="v%3AOpt_D_faststring_stats"
></A
></A
><B
>Opt_D_faststring_stats</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_DumpToFile"
><A NAME="v%3AOpt_DumpToFile"
></A
></A
><B
>Opt_DumpToFile</B
></TD
><TD CLASS="rdoc"
>Append dump output to files instead of stdout.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_D_no_debug_output"
><A NAME="v%3AOpt_D_no_debug_output"
></A
></A
><B
>Opt_D_no_debug_output</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_DoCoreLinting"
><A NAME="v%3AOpt_DoCoreLinting"
></A
></A
><B
>Opt_DoCoreLinting</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_DoStgLinting"
><A NAME="v%3AOpt_DoStgLinting"
></A
></A
><B
>Opt_DoStgLinting</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_DoCmmLinting"
><A NAME="v%3AOpt_DoCmmLinting"
></A
></A
><B
>Opt_DoCmmLinting</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_DoAsmLinting"
><A NAME="v%3AOpt_DoAsmLinting"
></A
></A
><B
>Opt_DoAsmLinting</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnIsError"
><A NAME="v%3AOpt_WarnIsError"
></A
></A
><B
>Opt_WarnIsError</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnDuplicateExports"
><A NAME="v%3AOpt_WarnDuplicateExports"
></A
></A
><B
>Opt_WarnDuplicateExports</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnHiShadows"
><A NAME="v%3AOpt_WarnHiShadows"
></A
></A
><B
>Opt_WarnHiShadows</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnImplicitPrelude"
><A NAME="v%3AOpt_WarnImplicitPrelude"
></A
></A
><B
>Opt_WarnImplicitPrelude</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnIncompletePatterns"
><A NAME="v%3AOpt_WarnIncompletePatterns"
></A
></A
><B
>Opt_WarnIncompletePatterns</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnIncompletePatternsRecUpd"
><A NAME="v%3AOpt_WarnIncompletePatternsRecUpd"
></A
></A
><B
>Opt_WarnIncompletePatternsRecUpd</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnMissingFields"
><A NAME="v%3AOpt_WarnMissingFields"
></A
></A
><B
>Opt_WarnMissingFields</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnMissingMethods"
><A NAME="v%3AOpt_WarnMissingMethods"
></A
></A
><B
>Opt_WarnMissingMethods</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnMissingSigs"
><A NAME="v%3AOpt_WarnMissingSigs"
></A
></A
><B
>Opt_WarnMissingSigs</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnNameShadowing"
><A NAME="v%3AOpt_WarnNameShadowing"
></A
></A
><B
>Opt_WarnNameShadowing</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnOverlappingPatterns"
><A NAME="v%3AOpt_WarnOverlappingPatterns"
></A
></A
><B
>Opt_WarnOverlappingPatterns</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnSimplePatterns"
><A NAME="v%3AOpt_WarnSimplePatterns"
></A
></A
><B
>Opt_WarnSimplePatterns</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnTypeDefaults"
><A NAME="v%3AOpt_WarnTypeDefaults"
></A
></A
><B
>Opt_WarnTypeDefaults</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnMonomorphism"
><A NAME="v%3AOpt_WarnMonomorphism"
></A
></A
><B
>Opt_WarnMonomorphism</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnUnusedBinds"
><A NAME="v%3AOpt_WarnUnusedBinds"
></A
></A
><B
>Opt_WarnUnusedBinds</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnUnusedImports"
><A NAME="v%3AOpt_WarnUnusedImports"
></A
></A
><B
>Opt_WarnUnusedImports</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnUnusedMatches"
><A NAME="v%3AOpt_WarnUnusedMatches"
></A
></A
><B
>Opt_WarnUnusedMatches</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnWarningsDeprecations"
><A NAME="v%3AOpt_WarnWarningsDeprecations"
></A
></A
><B
>Opt_WarnWarningsDeprecations</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnDeprecatedFlags"
><A NAME="v%3AOpt_WarnDeprecatedFlags"
></A
></A
><B
>Opt_WarnDeprecatedFlags</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnDodgyImports"
><A NAME="v%3AOpt_WarnDodgyImports"
></A
></A
><B
>Opt_WarnDodgyImports</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnOrphans"
><A NAME="v%3AOpt_WarnOrphans"
></A
></A
><B
>Opt_WarnOrphans</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnTabs"
><A NAME="v%3AOpt_WarnTabs"
></A
></A
><B
>Opt_WarnTabs</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnUnrecognisedPragmas"
><A NAME="v%3AOpt_WarnUnrecognisedPragmas"
></A
></A
><B
>Opt_WarnUnrecognisedPragmas</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_WarnDodgyForeignImports"
><A NAME="v%3AOpt_WarnDodgyForeignImports"
></A
></A
><B
>Opt_WarnDodgyForeignImports</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_OverlappingInstances"
><A NAME="v%3AOpt_OverlappingInstances"
></A
></A
><B
>Opt_OverlappingInstances</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_UndecidableInstances"
><A NAME="v%3AOpt_UndecidableInstances"
></A
></A
><B
>Opt_UndecidableInstances</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_IncoherentInstances"
><A NAME="v%3AOpt_IncoherentInstances"
></A
></A
><B
>Opt_IncoherentInstances</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_MonomorphismRestriction"
><A NAME="v%3AOpt_MonomorphismRestriction"
></A
></A
><B
>Opt_MonomorphismRestriction</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_MonoPatBinds"
><A NAME="v%3AOpt_MonoPatBinds"
></A
></A
><B
>Opt_MonoPatBinds</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_ExtendedDefaultRules"
><A NAME="v%3AOpt_ExtendedDefaultRules"
></A
></A
><B
>Opt_ExtendedDefaultRules</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_ForeignFunctionInterface"
><A NAME="v%3AOpt_ForeignFunctionInterface"
></A
></A
><B
>Opt_ForeignFunctionInterface</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_UnliftedFFITypes"
><A NAME="v%3AOpt_UnliftedFFITypes"
></A
></A
><B
>Opt_UnliftedFFITypes</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_PArr"
><A NAME="v%3AOpt_PArr"
></A
></A
><B
>Opt_PArr</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_Arrows"
><A NAME="v%3AOpt_Arrows"
></A
></A
><B
>Opt_Arrows</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_TemplateHaskell"
><A NAME="v%3AOpt_TemplateHaskell"
></A
></A
><B
>Opt_TemplateHaskell</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_QuasiQuotes"
><A NAME="v%3AOpt_QuasiQuotes"
></A
></A
><B
>Opt_QuasiQuotes</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_ImplicitParams"
><A NAME="v%3AOpt_ImplicitParams"
></A
></A
><B
>Opt_ImplicitParams</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_Generics"
><A NAME="v%3AOpt_Generics"
></A
></A
><B
>Opt_Generics</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_ImplicitPrelude"
><A NAME="v%3AOpt_ImplicitPrelude"
></A
></A
><B
>Opt_ImplicitPrelude</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_ScopedTypeVariables"
><A NAME="v%3AOpt_ScopedTypeVariables"
></A
></A
><B
>Opt_ScopedTypeVariables</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_UnboxedTuples"
><A NAME="v%3AOpt_UnboxedTuples"
></A
></A
><B
>Opt_UnboxedTuples</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_BangPatterns"
><A NAME="v%3AOpt_BangPatterns"
></A
></A
><B
>Opt_BangPatterns</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_TypeFamilies"
><A NAME="v%3AOpt_TypeFamilies"
></A
></A
><B
>Opt_TypeFamilies</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_OverloadedStrings"
><A NAME="v%3AOpt_OverloadedStrings"
></A
></A
><B
>Opt_OverloadedStrings</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_DisambiguateRecordFields"
><A NAME="v%3AOpt_DisambiguateRecordFields"
></A
></A
><B
>Opt_DisambiguateRecordFields</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_RecordWildCards"
><A NAME="v%3AOpt_RecordWildCards"
></A
></A
><B
>Opt_RecordWildCards</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_RecordPuns"
><A NAME="v%3AOpt_RecordPuns"
></A
></A
><B
>Opt_RecordPuns</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_ViewPatterns"
><A NAME="v%3AOpt_ViewPatterns"
></A
></A
><B
>Opt_ViewPatterns</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_GADTs"
><A NAME="v%3AOpt_GADTs"
></A
></A
><B
>Opt_GADTs</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_RelaxedPolyRec"
><A NAME="v%3AOpt_RelaxedPolyRec"
></A
></A
><B
>Opt_RelaxedPolyRec</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_StandaloneDeriving"
><A NAME="v%3AOpt_StandaloneDeriving"
></A
></A
><B
>Opt_StandaloneDeriving</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_DeriveDataTypeable"
><A NAME="v%3AOpt_DeriveDataTypeable"
></A
></A
><B
>Opt_DeriveDataTypeable</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_TypeSynonymInstances"
><A NAME="v%3AOpt_TypeSynonymInstances"
></A
></A
><B
>Opt_TypeSynonymInstances</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_FlexibleContexts"
><A NAME="v%3AOpt_FlexibleContexts"
></A
></A
><B
>Opt_FlexibleContexts</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_FlexibleInstances"
><A NAME="v%3AOpt_FlexibleInstances"
></A
></A
><B
>Opt_FlexibleInstances</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_ConstrainedClassMethods"
><A NAME="v%3AOpt_ConstrainedClassMethods"
></A
></A
><B
>Opt_ConstrainedClassMethods</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_MultiParamTypeClasses"
><A NAME="v%3AOpt_MultiParamTypeClasses"
></A
></A
><B
>Opt_MultiParamTypeClasses</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_FunctionalDependencies"
><A NAME="v%3AOpt_FunctionalDependencies"
></A
></A
><B
>Opt_FunctionalDependencies</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_UnicodeSyntax"
><A NAME="v%3AOpt_UnicodeSyntax"
></A
></A
><B
>Opt_UnicodeSyntax</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_PolymorphicComponents"
><A NAME="v%3AOpt_PolymorphicComponents"
></A
></A
><B
>Opt_PolymorphicComponents</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_ExistentialQuantification"
><A NAME="v%3AOpt_ExistentialQuantification"
></A
></A
><B
>Opt_ExistentialQuantification</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_MagicHash"
><A NAME="v%3AOpt_MagicHash"
></A
></A
><B
>Opt_MagicHash</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_EmptyDataDecls"
><A NAME="v%3AOpt_EmptyDataDecls"
></A
></A
><B
>Opt_EmptyDataDecls</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_KindSignatures"
><A NAME="v%3AOpt_KindSignatures"
></A
></A
><B
>Opt_KindSignatures</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_ParallelListComp"
><A NAME="v%3AOpt_ParallelListComp"
></A
></A
><B
>Opt_ParallelListComp</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_TransformListComp"
><A NAME="v%3AOpt_TransformListComp"
></A
></A
><B
>Opt_TransformListComp</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_GeneralizedNewtypeDeriving"
><A NAME="v%3AOpt_GeneralizedNewtypeDeriving"
></A
></A
><B
>Opt_GeneralizedNewtypeDeriving</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_RecursiveDo"
><A NAME="v%3AOpt_RecursiveDo"
></A
></A
><B
>Opt_RecursiveDo</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_PostfixOperators"
><A NAME="v%3AOpt_PostfixOperators"
></A
></A
><B
>Opt_PostfixOperators</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_PatternGuards"
><A NAME="v%3AOpt_PatternGuards"
></A
></A
><B
>Opt_PatternGuards</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_LiberalTypeSynonyms"
><A NAME="v%3AOpt_LiberalTypeSynonyms"
></A
></A
><B
>Opt_LiberalTypeSynonyms</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_Rank2Types"
><A NAME="v%3AOpt_Rank2Types"
></A
></A
><B
>Opt_Rank2Types</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_RankNTypes"
><A NAME="v%3AOpt_RankNTypes"
></A
></A
><B
>Opt_RankNTypes</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_ImpredicativeTypes"
><A NAME="v%3AOpt_ImpredicativeTypes"
></A
></A
><B
>Opt_ImpredicativeTypes</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_TypeOperators"
><A NAME="v%3AOpt_TypeOperators"
></A
></A
><B
>Opt_TypeOperators</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_PackageImports"
><A NAME="v%3AOpt_PackageImports"
></A
></A
><B
>Opt_PackageImports</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_NewQualifiedOperators"
><A NAME="v%3AOpt_NewQualifiedOperators"
></A
></A
><B
>Opt_NewQualifiedOperators</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_PrintExplicitForalls"
><A NAME="v%3AOpt_PrintExplicitForalls"
></A
></A
><B
>Opt_PrintExplicitForalls</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_Strictness"
><A NAME="v%3AOpt_Strictness"
></A
></A
><B
>Opt_Strictness</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_FullLaziness"
><A NAME="v%3AOpt_FullLaziness"
></A
></A
><B
>Opt_FullLaziness</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_StaticArgumentTransformation"
><A NAME="v%3AOpt_StaticArgumentTransformation"
></A
></A
><B
>Opt_StaticArgumentTransformation</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_CSE"
><A NAME="v%3AOpt_CSE"
></A
></A
><B
>Opt_CSE</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_LiberateCase"
><A NAME="v%3AOpt_LiberateCase"
></A
></A
><B
>Opt_LiberateCase</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_SpecConstr"
><A NAME="v%3AOpt_SpecConstr"
></A
></A
><B
>Opt_SpecConstr</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_IgnoreInterfacePragmas"
><A NAME="v%3AOpt_IgnoreInterfacePragmas"
></A
></A
><B
>Opt_IgnoreInterfacePragmas</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_OmitInterfacePragmas"
><A NAME="v%3AOpt_OmitInterfacePragmas"
></A
></A
><B
>Opt_OmitInterfacePragmas</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_DoLambdaEtaExpansion"
><A NAME="v%3AOpt_DoLambdaEtaExpansion"
></A
></A
><B
>Opt_DoLambdaEtaExpansion</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_IgnoreAsserts"
><A NAME="v%3AOpt_IgnoreAsserts"
></A
></A
><B
>Opt_IgnoreAsserts</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_DoEtaReduction"
><A NAME="v%3AOpt_DoEtaReduction"
></A
></A
><B
>Opt_DoEtaReduction</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_CaseMerge"
><A NAME="v%3AOpt_CaseMerge"
></A
></A
><B
>Opt_CaseMerge</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_UnboxStrictFields"
><A NAME="v%3AOpt_UnboxStrictFields"
></A
></A
><B
>Opt_UnboxStrictFields</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_MethodSharing"
><A NAME="v%3AOpt_MethodSharing"
></A
></A
><B
>Opt_MethodSharing</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_DictsCheap"
><A NAME="v%3AOpt_DictsCheap"
></A
></A
><B
>Opt_DictsCheap</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_InlineIfEnoughArgs"
><A NAME="v%3AOpt_InlineIfEnoughArgs"
></A
></A
><B
>Opt_InlineIfEnoughArgs</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_EnableRewriteRules"
><A NAME="v%3AOpt_EnableRewriteRules"
></A
></A
><B
>Opt_EnableRewriteRules</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_Vectorise"
><A NAME="v%3AOpt_Vectorise"
></A
></A
><B
>Opt_Vectorise</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_RegsGraph"
><A NAME="v%3AOpt_RegsGraph"
></A
></A
><B
>Opt_RegsGraph</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_RegsIterative"
><A NAME="v%3AOpt_RegsIterative"
></A
></A
><B
>Opt_RegsIterative</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_Cpp"
><A NAME="v%3AOpt_Cpp"
></A
></A
><B
>Opt_Cpp</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_Pp"
><A NAME="v%3AOpt_Pp"
></A
></A
><B
>Opt_Pp</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_ForceRecomp"
><A NAME="v%3AOpt_ForceRecomp"
></A
></A
><B
>Opt_ForceRecomp</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_DryRun"
><A NAME="v%3AOpt_DryRun"
></A
></A
><B
>Opt_DryRun</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_DoAsmMangling"
><A NAME="v%3AOpt_DoAsmMangling"
></A
></A
><B
>Opt_DoAsmMangling</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_ExcessPrecision"
><A NAME="v%3AOpt_ExcessPrecision"
></A
></A
><B
>Opt_ExcessPrecision</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_ReadUserPackageConf"
><A NAME="v%3AOpt_ReadUserPackageConf"
></A
></A
><B
>Opt_ReadUserPackageConf</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_NoHsMain"
><A NAME="v%3AOpt_NoHsMain"
></A
></A
><B
>Opt_NoHsMain</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_SplitObjs"
><A NAME="v%3AOpt_SplitObjs"
></A
></A
><B
>Opt_SplitObjs</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_StgStats"
><A NAME="v%3AOpt_StgStats"
></A
></A
><B
>Opt_StgStats</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_HideAllPackages"
><A NAME="v%3AOpt_HideAllPackages"
></A
></A
><B
>Opt_HideAllPackages</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_PrintBindResult"
><A NAME="v%3AOpt_PrintBindResult"
></A
></A
><B
>Opt_PrintBindResult</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_Haddock"
><A NAME="v%3AOpt_Haddock"
></A
></A
><B
>Opt_Haddock</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_HaddockOptions"
><A NAME="v%3AOpt_HaddockOptions"
></A
></A
><B
>Opt_HaddockOptions</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_Hpc_No_Auto"
><A NAME="v%3AOpt_Hpc_No_Auto"
></A
></A
><B
>Opt_Hpc_No_Auto</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_BreakOnException"
><A NAME="v%3AOpt_BreakOnException"
></A
></A
><B
>Opt_BreakOnException</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_BreakOnError"
><A NAME="v%3AOpt_BreakOnError"
></A
></A
><B
>Opt_BreakOnError</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_PrintEvldWithShow"
><A NAME="v%3AOpt_PrintEvldWithShow"
></A
></A
><B
>Opt_PrintEvldWithShow</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_PrintBindContents"
><A NAME="v%3AOpt_PrintBindContents"
></A
></A
><B
>Opt_PrintBindContents</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_GenManifest"
><A NAME="v%3AOpt_GenManifest"
></A
></A
><B
>Opt_GenManifest</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_EmbedManifest"
><A NAME="v%3AOpt_EmbedManifest"
></A
></A
><B
>Opt_EmbedManifest</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_RunCPSZ"
><A NAME="v%3AOpt_RunCPSZ"
></A
></A
><B
>Opt_RunCPSZ</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_ConvertToZipCfgAndBack"
><A NAME="v%3AOpt_ConvertToZipCfgAndBack"
></A
></A
><B
>Opt_ConvertToZipCfgAndBack</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_AutoLinkPackages"
><A NAME="v%3AOpt_AutoLinkPackages"
></A
></A
><B
>Opt_AutoLinkPackages</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_ImplicitImportQualified"
><A NAME="v%3AOpt_ImplicitImportQualified"
></A
></A
><B
>Opt_ImplicitImportQualified</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_KeepHiDiffs"
><A NAME="v%3AOpt_KeepHiDiffs"
></A
></A
><B
>Opt_KeepHiDiffs</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_KeepHcFiles"
><A NAME="v%3AOpt_KeepHcFiles"
></A
></A
><B
>Opt_KeepHcFiles</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_KeepSFiles"
><A NAME="v%3AOpt_KeepSFiles"
></A
></A
><B
>Opt_KeepSFiles</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_KeepRawSFiles"
><A NAME="v%3AOpt_KeepRawSFiles"
></A
></A
><B
>Opt_KeepRawSFiles</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_KeepTmpFiles"
><A NAME="v%3AOpt_KeepTmpFiles"
></A
></A
><B
>Opt_KeepTmpFiles</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Opt_KeepRawTokenStream"
><A NAME="v%3AOpt_KeepRawTokenStream"
></A
></A
><B
>Opt_KeepRawTokenStream</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:DynFlag')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:DynFlag" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3ADynFlag"
>DynFlag</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="GHC.html#t%3ADynFlag"
>DynFlag</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Severity"
><A NAME="t%3ASeverity"
></A
></A
><B
>Severity</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:SevInfo"
><A NAME="v%3ASevInfo"
></A
></A
><B
>SevInfo</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:SevWarning"
><A NAME="v%3ASevWarning"
></A
></A
><B
>SevWarning</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:SevError"
><A NAME="v%3ASevError"
></A
></A
><B
>SevError</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:SevFatal"
><A NAME="v%3ASevFatal"
></A
></A
><B
>SevFatal</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:HscTarget"
><A NAME="t%3AHscTarget"
></A
></A
><B
>HscTarget</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>The target code type of the compilation (if any).
</P
><P
><TT
><A HREF="GHC.html#v%3AHscNothing"
>HscNothing</A
></TT
> can be used to avoid generating any output, however, note
 that:
</P
><UL
><LI
> This will not run the desugaring step, thus no warnings generated in
    this step will be output.  In particular, this includes warnings
    related to pattern matching.
</LI
><LI
> At the moment switching from <TT
><A HREF="GHC.html#v%3AHscNothing"
>HscNothing</A
></TT
> to <TT
><A HREF="GHC.html#v%3AHscInterpreted"
>HscInterpreted</A
></TT
> without
    unloading first is not safe.  To unload use
    <TT
>GHC.setTargets [] &gt;&gt; GHC.load LoadAllTargets</TT
>.
</LI
></UL
></TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:HscC"
><A NAME="v%3AHscC"
></A
></A
><B
>HscC</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:HscAsm"
><A NAME="v%3AHscAsm"
></A
></A
><B
>HscAsm</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:HscJava"
><A NAME="v%3AHscJava"
></A
></A
><B
>HscJava</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:HscInterpreted"
><A NAME="v%3AHscInterpreted"
></A
></A
><B
>HscInterpreted</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:HscNothing"
><A NAME="v%3AHscNothing"
></A
></A
><B
>HscNothing</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:HscTarget')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:HscTarget" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3AHscTarget"
>HscTarget</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="GHC.html#t%3AHscTarget"
>HscTarget</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:dopt"
><A NAME="v%3Adopt"
></A
></A
><B
>dopt</B
> :: <A HREF="GHC.html#t%3ADynFlag"
>DynFlag</A
> -&gt; <A HREF="GHC.html#t%3ADynFlags"
>DynFlags</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Test whether a <TT
><A HREF="GHC.html#t%3ADynFlag"
>DynFlag</A
></TT
> is set
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:GhcMode"
><A NAME="t%3AGhcMode"
></A
></A
><B
>GhcMode</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The <TT
><A HREF="GHC.html#t%3AGhcMode"
>GhcMode</A
></TT
> tells us whether we're doing multi-module
 compilation (controlled via the <A HREF="GHC.html"
>GHC</A
> API) or one-shot
 (single-module) compilation.  This makes a difference primarily to
 the <A HREF="Finder.html"
>Finder</A
>: in one-shot mode we look for interface files for
 imported modules, but in multi-module mode we look for source files
 in order to check whether they need to be recompiled.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:CompManager"
><A NAME="v%3ACompManager"
></A
></A
><B
>CompManager</B
></TD
><TD CLASS="rdoc"
><TT
>--make</TT
>, GHCi, etc.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:OneShot"
><A NAME="v%3AOneShot"
></A
></A
><B
>OneShot</B
></TD
><TD CLASS="rdoc"
><PRE
>ghc -c Foo.hs</PRE
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:MkDepend"
><A NAME="v%3AMkDepend"
></A
></A
><B
>MkDepend</B
></TD
><TD CLASS="rdoc"
><TT
>ghc -M</TT
>, see <A HREF="Finder.html"
>Finder</A
> for why we need this
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:GhcMode')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:GhcMode" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3AGhcMode"
>GhcMode</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3AGhcMode"
>GhcMode</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:GhcLink"
><A NAME="t%3AGhcLink"
></A
></A
><B
>GhcLink</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>What to do in the link step, if there is one.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:NoLink"
><A NAME="v%3ANoLink"
></A
></A
><B
>NoLink</B
></TD
><TD CLASS="rdoc"
>Don't link at all
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:LinkBinary"
><A NAME="v%3ALinkBinary"
></A
></A
><B
>LinkBinary</B
></TD
><TD CLASS="rdoc"
>Link object code into a binary
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:LinkInMemory"
><A NAME="v%3ALinkInMemory"
></A
></A
><B
>LinkInMemory</B
></TD
><TD CLASS="rdoc"
>Use the in-memory dynamic linker
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:LinkDynLib"
><A NAME="v%3ALinkDynLib"
></A
></A
><B
>LinkDynLib</B
></TD
><TD CLASS="rdoc"
>Link objects into a dynamic lib (DLL on Windows, DSO on ELF platforms)
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:GhcLink')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:GhcLink" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3AGhcLink"
>GhcLink</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="GHC.html#t%3AGhcLink"
>GhcLink</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:defaultObjectTarget"
><A NAME="v%3AdefaultObjectTarget"
></A
></A
><B
>defaultObjectTarget</B
> :: <A HREF="GHC.html#t%3AHscTarget"
>HscTarget</A
></TD
></TR
><TR
><TD CLASS="doc"
>The <TT
><A HREF="GHC.html#t%3AHscTarget"
>HscTarget</A
></TT
> value corresponding to the default way to create
 object files on the current platform.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:parseDynamicFlags"
><A NAME="v%3AparseDynamicFlags"
></A
></A
><B
>parseDynamicFlags</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="../base/Control-Monad.html#t%3AMonad"
>Monad</A
> m</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>=&gt; <A HREF="GHC.html#t%3ADynFlags"
>DynFlags</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>-&gt; [<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>-&gt; m (<A HREF="GHC.html#t%3ADynFlags"
>DynFlags</A
>, [<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>], [<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>])</TD
><TD CLASS="rdoc"
>Updated <TT
><A HREF="GHC.html#t%3ADynFlags"
>DynFlags</A
></TT
>, left-over arguments, and
 list of warnings.
</TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
>Parse dynamic flags from a list of command line arguments.  Returns the
 the parsed <TT
><A HREF="GHC.html#t%3ADynFlags"
>DynFlags</A
></TT
>, the left-over arguments, and a list of warnings.
 Throws a <TT
><A HREF="GHC.html#v%3AUsageError"
>UsageError</A
></TT
> if errors occurred during parsing (such as unknown
 flags or missing arguments).
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getSessionDynFlags"
><A NAME="v%3AgetSessionDynFlags"
></A
></A
><B
>getSessionDynFlags</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m <A HREF="GHC.html#t%3ADynFlags"
>DynFlags</A
></TD
></TR
><TR
><TD CLASS="doc"
>Grabs the DynFlags from the Session
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setSessionDynFlags"
><A NAME="v%3AsetSessionDynFlags"
></A
></A
><B
>setSessionDynFlags</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3ADynFlags"
>DynFlags</A
> -&gt; m [<A HREF="GHC.html#t%3APackageId"
>PackageId</A
>]</TD
></TR
><TR
><TD CLASS="doc"
><P
>Updates the DynFlags in a Session.  This also reads
 the package database (unless it has already been read),
 and prepares the compilers knowledge about packages.  It
 can be called again to load new packages: just add new
 package flags to (packageFlags dflags).
</P
><P
>Returns a list of new packages that may need to be linked in using
 the dynamic linker (see linkPackages) as a result of new package
 flags.  If you are not doing linking or doing static linking, you
 can ignore the list of packages returned.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:parseStaticFlags"
><A NAME="v%3AparseStaticFlags"
></A
></A
><B
>parseStaticFlags</B
> :: [<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>] -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> ([<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>], [<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>])</TD
></TR
><TR
><TD CLASS="doc"
><P
>Parses GHC's static flags from a list of command line arguments.
</P
><P
>These flags are static in the sense that they can be set only once and they
 are global, meaning that they affect every instance of GHC running;
 multiple GHC threads will use the same flags.
</P
><P
>This function must be called before any session is started, i.e., before
 the first call to GHC.withGhc.
</P
><P
>Static flags are more of a hack and are static for more or less historical
 reasons.  In the long run, most static flags should eventually become
 dynamic flags.
</P
><P
>XXX: can we add an auto-generated list of static flags here?
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="4"
><A NAME="4"
>Targets
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Target"
><A NAME="t%3ATarget"
></A
></A
><B
>Target</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>A compilation target.
</P
><P
>A target may be supplied with the actual text of the
 module.  If so, use this instead of the file contents (this
 is for use in an IDE where the file hasn't been saved by
 the user yet).
</P
></TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:Target"
><A NAME="v%3ATarget"
></A
></A
><B
>Target</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:targetId"
><A NAME="v%3AtargetId"
></A
></A
><B
>targetId</B
> :: <A HREF="GHC.html#t%3ATargetId"
>TargetId</A
></TD
><TD CLASS="rdoc"
>module or filename
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:targetAllowObjCode"
><A NAME="v%3AtargetAllowObjCode"
></A
></A
><B
>targetAllowObjCode</B
> :: <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="rdoc"
>object code allowed?
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:targetContents"
><A NAME="v%3AtargetContents"
></A
></A
><B
>targetContents</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="StringBuffer.html#t%3AStringBuffer"
>StringBuffer</A
>, <A HREF="../old-time/System-Time.html#t%3AClockTime"
>ClockTime</A
>)</TD
><TD CLASS="rdoc"
>in-memory text buffer?
</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Target')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Target" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3ATarget"
>Target</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:TargetId"
><A NAME="t%3ATargetId"
></A
></A
><B
>TargetId</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:TargetModule"
><A NAME="v%3ATargetModule"
></A
></A
><B
>TargetModule</B
> <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
></TD
><TD CLASS="rdoc"
>A module name: search for the file
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TargetFile"
><A NAME="v%3ATargetFile"
></A
></A
><B
>TargetFile</B
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
> (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3APhase"
>Phase</A
>)</TD
><TD CLASS="rdoc"
>A filename: preprocess &amp; parse it to find the module name.
 If specified, the Phase indicates how to compile this file
 (which phase to start from).  Nothing indicates the starting phase
 should be determined from the suffix of the filename.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:TargetId')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:TargetId" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3ATargetId"
>TargetId</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3ATargetId"
>TargetId</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Phase"
><A NAME="t%3APhase"
></A
></A
><B
>Phase</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Phase')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Phase" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3APhase"
>Phase</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="GHC.html#t%3APhase"
>Phase</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setTargets"
><A NAME="v%3AsetTargets"
></A
></A
><B
>setTargets</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; [<A HREF="GHC.html#t%3ATarget"
>Target</A
>] -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
>Sets the targets for this session.  Each target may be a module name
 or a filename.  The targets correspond to the set of root modules for
 the program/library.  Unloading the current program is achieved by
 setting the current set of targets to be empty, followed by <TT
><A HREF="GHC.html#v%3Aload"
>load</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getTargets"
><A NAME="v%3AgetTargets"
></A
></A
><B
>getTargets</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m [<A HREF="GHC.html#t%3ATarget"
>Target</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>Returns the current set of targets
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:addTarget"
><A NAME="v%3AaddTarget"
></A
></A
><B
>addTarget</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3ATarget"
>Target</A
> -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
>Add another target.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:removeTarget"
><A NAME="v%3AremoveTarget"
></A
></A
><B
>removeTarget</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3ATargetId"
>TargetId</A
> -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
>Remove a target
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:guessTarget"
><A NAME="v%3AguessTarget"
></A
></A
><B
>guessTarget</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3APhase"
>Phase</A
> -&gt; m <A HREF="GHC.html#t%3ATarget"
>Target</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Attempts to guess what Target a string refers to.  This function
 implements the <TT
>--make</TT
>/GHCi command-line syntax for filenames:
</P
><UL
><LI
> if the string looks like a Haskell source filename, then interpret it
     as such
</LI
><LI
> if adding a .hs or .lhs suffix yields the name of an existing file,
     then use that
</LI
><LI
> otherwise interpret the string as a module name
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="5"
><A NAME="5"
>Extending the program scope 
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:extendGlobalRdrScope"
><A NAME="v%3AextendGlobalRdrScope"
></A
></A
><B
>extendGlobalRdrScope</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; [<A HREF="RdrName.html#t%3AGlobalRdrElt"
>GlobalRdrElt</A
>] -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setGlobalRdrScope"
><A NAME="v%3AsetGlobalRdrScope"
></A
></A
><B
>setGlobalRdrScope</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; [<A HREF="RdrName.html#t%3AGlobalRdrElt"
>GlobalRdrElt</A
>] -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:extendGlobalTypeScope"
><A NAME="v%3AextendGlobalTypeScope"
></A
></A
><B
>extendGlobalTypeScope</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; [<A HREF="GHC.html#t%3AId"
>Id</A
>] -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setGlobalTypeScope"
><A NAME="v%3AsetGlobalTypeScope"
></A
></A
><B
>setGlobalTypeScope</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; [<A HREF="GHC.html#t%3AId"
>Id</A
>] -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="6"
><A NAME="6"
>Loading/compiling the program
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:depanal"
><A NAME="v%3Adepanal"
></A
></A
><B
>depanal</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>=&gt; [<A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
>]</TD
><TD CLASS="rdoc"
>excluded modules
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="rdoc"
>allow duplicate roots
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; m <A HREF="GHC.html#t%3AModuleGraph"
>ModuleGraph</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
>Perform a dependency analysis starting from the current targets
 and update the session with the new module graph.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:load"
><A NAME="v%3Aload"
></A
></A
><B
>load</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3ALoadHowMuch"
>LoadHowMuch</A
> -&gt; m <A HREF="GHC.html#t%3ASuccessFlag"
>SuccessFlag</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Try to load the program.  Calls <TT
><A HREF="GHC.html#v%3AloadWithLogger"
>loadWithLogger</A
></TT
> with the default
 compiler that just immediately logs all warnings and errors.
</P
><P
>This function may throw a <TT
><A HREF="HscTypes.html#t%3ASourceError"
>SourceError</A
></TT
> if errors are encountered before
 the actual compilation starts (e.g., during dependency analysis).
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:loadWithLogger"
><A NAME="v%3AloadWithLogger"
></A
></A
><B
>loadWithLogger</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AWarnErrLogger"
>WarnErrLogger</A
> -&gt; <A HREF="GHC.html#t%3ALoadHowMuch"
>LoadHowMuch</A
> -&gt; m <A HREF="GHC.html#t%3ASuccessFlag"
>SuccessFlag</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Try to load the program.  If a Module is supplied, then just
 attempt to load up to this target.  If no Module is supplied,
 then try to load all targets.
</P
><P
>The first argument is a function that is called after compiling each
 module to print wanrings and errors.
</P
><P
>While compiling a module, all <TT
><A HREF="HscTypes.html#t%3ASourceError"
>SourceError</A
></TT
>s are caught and passed to the
 logger, however, this function may still throw a <TT
><A HREF="HscTypes.html#t%3ASourceError"
>SourceError</A
></TT
> if
 dependency analysis failed (e.g., due to a parse error).
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:LoadHowMuch"
><A NAME="t%3ALoadHowMuch"
></A
></A
><B
>LoadHowMuch</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:LoadAllTargets"
><A NAME="v%3ALoadAllTargets"
></A
></A
><B
>LoadAllTargets</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:LoadUpTo"
><A NAME="v%3ALoadUpTo"
></A
></A
><B
>LoadUpTo</B
> <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:LoadDependenciesOf"
><A NAME="v%3ALoadDependenciesOf"
></A
></A
><B
>LoadDependenciesOf</B
> <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:SuccessFlag"
><A NAME="t%3ASuccessFlag"
></A
></A
><B
>SuccessFlag</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:Succeeded"
><A NAME="v%3ASucceeded"
></A
></A
><B
>Succeeded</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Failed"
><A NAME="v%3AFailed"
></A
></A
><B
>Failed</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:SuccessFlag')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:SuccessFlag" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3ASuccessFlag"
>SuccessFlag</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:defaultWarnErrLogger"
><A NAME="v%3AdefaultWarnErrLogger"
></A
></A
><B
>defaultWarnErrLogger</B
> :: <A HREF="GHC.html#t%3AWarnErrLogger"
>WarnErrLogger</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:WarnErrLogger"
><A NAME="t%3AWarnErrLogger"
></A
></A
><B
>WarnErrLogger</B
> = <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="HscTypes.html#t%3ASourceError"
>SourceError</A
> -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
>A function called to log warnings and errors.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:workingDirectoryChanged"
><A NAME="v%3AworkingDirectoryChanged"
></A
></A
><B
>workingDirectoryChanged</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
>Inform GHC that the working directory has changed.  GHC will flush
 its cache of module locations, since it may no longer be valid.
 Note: if you change the working directory, you should also unload
 the current program (set targets to empty, followed by load).
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:parseModule"
><A NAME="v%3AparseModule"
></A
></A
><B
>parseModule</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
> -&gt; m <A HREF="GHC.html#t%3AParsedModule"
>ParsedModule</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Parse a module.
</P
><P
>Throws a <TT
><A HREF="HscTypes.html#t%3ASourceError"
>SourceError</A
></TT
> on parse error.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:typecheckModule"
><A NAME="v%3AtypecheckModule"
></A
></A
><B
>typecheckModule</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AParsedModule"
>ParsedModule</A
> -&gt; m <A HREF="GHC.html#t%3ATypecheckedModule"
>TypecheckedModule</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Typecheck and rename a parsed module.
</P
><P
>Throws a <TT
><A HREF="HscTypes.html#t%3ASourceError"
>SourceError</A
></TT
> if either fails.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:desugarModule"
><A NAME="v%3AdesugarModule"
></A
></A
><B
>desugarModule</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3ATypecheckedModule"
>TypecheckedModule</A
> -&gt; m <A HREF="GHC.html#t%3ADesugaredModule"
>DesugaredModule</A
></TD
></TR
><TR
><TD CLASS="doc"
>Desugar a typechecked module.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:loadModule"
><A NAME="v%3AloadModule"
></A
></A
><B
>loadModule</B
> :: (<A HREF="GHC.html#t%3ATypecheckedMod"
>TypecheckedMod</A
> mod, <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m) =&gt; mod -&gt; m mod</TD
></TR
><TR
><TD CLASS="doc"
><P
>Load a module.  Input doesn't need to be desugared.
</P
><P
>XXX: Describe usage.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ParsedModule"
><A NAME="t%3AParsedModule"
></A
></A
><B
>ParsedModule</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The result of successful parsing.
</TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ParsedModule')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ParsedModule" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3AParsedMod"
>ParsedMod</A
> <A HREF="GHC.html#t%3AParsedModule"
>ParsedModule</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:TypecheckedModule"
><A NAME="t%3ATypecheckedModule"
></A
></A
><B
>TypecheckedModule</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The result of successful typechecking.  It also contains the parser
   result.
</TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:TypecheckedModule')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:TypecheckedModule" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3ATypecheckedMod"
>TypecheckedMod</A
> <A HREF="GHC.html#t%3ATypecheckedModule"
>TypecheckedModule</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3AParsedMod"
>ParsedMod</A
> <A HREF="GHC.html#t%3ATypecheckedModule"
>TypecheckedModule</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:DesugaredModule"
><A NAME="t%3ADesugaredModule"
></A
></A
><B
>DesugaredModule</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The result of successful desugaring (i.e., translation to core).  Also
  contains all the information of a typechecked module.
</TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:DesugaredModule')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:DesugaredModule" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
>DesugaredMod <A HREF="GHC.html#t%3ADesugaredModule"
>DesugaredModule</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3ATypecheckedMod"
>TypecheckedMod</A
> <A HREF="GHC.html#t%3ADesugaredModule"
>DesugaredModule</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3AParsedMod"
>ParsedMod</A
> <A HREF="GHC.html#t%3ADesugaredModule"
>DesugaredModule</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:TypecheckedSource"
><A NAME="t%3ATypecheckedSource"
></A
></A
><B
>TypecheckedSource</B
> = <A HREF="HsBinds.html#t%3ALHsBinds"
>LHsBinds</A
> <A HREF="GHC.html#t%3AId"
>Id</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:ParsedSource"
><A NAME="t%3AParsedSource"
></A
></A
><B
>ParsedSource</B
> = <A HREF="GHC.html#t%3ALocated"
>Located</A
> (<A HREF="HsSyn.html#t%3AHsModule"
>HsModule</A
> <A HREF="GHC.html#t%3ARdrName"
>RdrName</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:RenamedSource"
><A NAME="t%3ARenamedSource"
></A
></A
><B
>RenamedSource</B
> = (<A HREF="HsDecls.html#t%3AHsGroup"
>HsGroup</A
> <A HREF="GHC.html#t%3AName"
>Name</A
>, [<A HREF="HsImpExp.html#t%3ALImportDecl"
>LImportDecl</A
> <A HREF="GHC.html#t%3AName"
>Name</A
>], <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="HsImpExp.html#t%3ALIE"
>LIE</A
> <A HREF="GHC.html#t%3AName"
>Name</A
>], <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="HsDoc.html#t%3AHsDoc"
>HsDoc</A
> <A HREF="GHC.html#t%3AName"
>Name</A
>), <A HREF="HsSyn.html#t%3AHaddockModInfo"
>HaddockModInfo</A
> <A HREF="GHC.html#t%3AName"
>Name</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="GHC.html#t%3AParsedMod"
>ParsedMod</A
> m =&gt; <A NAME="t:TypecheckedMod"
><A NAME="t%3ATypecheckedMod"
></A
></A
><B
>TypecheckedMod</B
> m  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Methods</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A NAME="v:renamedSource"
><A NAME="v%3ArenamedSource"
></A
></A
><B
>renamedSource</B
> :: m -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3ARenamedSource"
>RenamedSource</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:typecheckedSource"
><A NAME="v%3AtypecheckedSource"
></A
></A
><B
>typecheckedSource</B
> :: m -&gt; <A HREF="GHC.html#t%3ATypecheckedSource"
>TypecheckedSource</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:moduleInfo"
><A NAME="v%3AmoduleInfo"
></A
></A
><B
>moduleInfo</B
> :: m -&gt; <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:TypecheckedMod')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:TypecheckedMod" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3ATypecheckedMod"
>TypecheckedMod</A
> <A HREF="GHC.html#t%3ADesugaredModule"
>DesugaredModule</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3ATypecheckedMod"
>TypecheckedMod</A
> <A HREF="GHC.html#t%3ATypecheckedModule"
>TypecheckedModule</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
>  <A NAME="t:ParsedMod"
><A NAME="t%3AParsedMod"
></A
></A
><B
>ParsedMod</B
> m  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Methods</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A NAME="v:parsedSource"
><A NAME="v%3AparsedSource"
></A
></A
><B
>parsedSource</B
> :: m -&gt; <A HREF="GHC.html#t%3AParsedSource"
>ParsedSource</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ParsedMod')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ParsedMod" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3AParsedMod"
>ParsedMod</A
> <A HREF="GHC.html#t%3ADesugaredModule"
>DesugaredModule</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3AParsedMod"
>ParsedMod</A
> <A HREF="GHC.html#t%3ATypecheckedModule"
>TypecheckedModule</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3AParsedMod"
>ParsedMod</A
> <A HREF="GHC.html#t%3AParsedModule"
>ParsedModule</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:coreModule"
><A NAME="v%3AcoreModule"
></A
></A
><B
>coreModule</B
> :: DesugaredMod m =&gt; m -&gt; <A HREF="HscTypes.html#t%3AModGuts"
>ModGuts</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:compileToCoreModule"
><A NAME="v%3AcompileToCoreModule"
></A
></A
><B
>compileToCoreModule</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; m <A HREF="HscTypes.html#t%3ACoreModule"
>CoreModule</A
></TD
></TR
><TR
><TD CLASS="doc"
>This is the way to get access to the Core bindings corresponding
 to a module. compileToCore parses, typechecks, and
 desugars the module, then returns the resulting Core module (consisting of
 the module name, type declarations, and function declarations) if
 successful.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:compileToCoreSimplified"
><A NAME="v%3AcompileToCoreSimplified"
></A
></A
><B
>compileToCoreSimplified</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; m <A HREF="HscTypes.html#t%3ACoreModule"
>CoreModule</A
></TD
></TR
><TR
><TD CLASS="doc"
>Like compileToCoreModule, but invokes the simplifier, so
 as to return simplified and tidied Core.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:compileCoreToObj"
><A NAME="v%3AcompileCoreToObj"
></A
></A
><B
>compileCoreToObj</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="HscTypes.html#t%3ACoreModule"
>CoreModule</A
> -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
>Takes a CoreModule and compiles the bindings therein
 to object code. The first argument is a bool flag indicating
 whether to run the simplifier.
 The resulting .o, .hi, and executable files, if any, are stored in the
 current directory, and named according to the module name.
 Returns True iff compilation succeeded.
 This has only so far been tested with a single self-contained module.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getModSummary"
><A NAME="v%3AgetModSummary"
></A
></A
><B
>getModSummary</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
> -&gt; m <A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Return the <TT
><A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
></TT
> of a module with the given name.
</P
><P
>The module must be part of the module graph (see <TT
><A HREF="HscTypes.html#v%3Ahsc_mod_graph"
>hsc_mod_graph</A
></TT
> and
 <TT
><A HREF="GHC.html#t%3AModuleGraph"
>ModuleGraph</A
></TT
>).  If this is not the case, this function will throw a
 <TT
><A HREF="HscTypes.html#t%3AGhcApiError"
>GhcApiError</A
></TT
>.
</P
><P
>This function ignores boot modules and requires that there is only one
 non-boot module with the given name.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="7"
><A NAME="7"
>Parsing Haddock comments
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:parseHaddockComment"
><A NAME="v%3AparseHaddockComment"
></A
></A
><B
>parseHaddockComment</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base/Data-Either.html#t%3AEither"
>Either</A
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> (<A HREF="HsDoc.html#t%3AHsDoc"
>HsDoc</A
> <A HREF="GHC.html#t%3ARdrName"
>RdrName</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="8"
><A NAME="8"
>Inspecting the module structure of the program
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:ModuleGraph"
><A NAME="t%3AModuleGraph"
></A
></A
><B
>ModuleGraph</B
> = [<A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
>]</TD
></TR
><TR
><TD CLASS="doc"
><P
>A ModuleGraph contains all the nodes from the home package (only).
 There will be a node for each source module, plus a node for each hi-boot
 module.
</P
><P
>The graph is not necessarily stored in topologically-sorted order.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ModSummary"
><A NAME="t%3AModSummary"
></A
></A
><B
>ModSummary</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>A single node in a 'ModuleGraph. The nodes of the module graph are one of:
</P
><UL
><LI
> A regular Haskell source module
</LI
><LI
> A hi-boot source module
</LI
><LI
> An external-core source module
</LI
></UL
></TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:ModSummary"
><A NAME="v%3AModSummary"
></A
></A
><B
>ModSummary</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:ms_mod"
><A NAME="v%3Ams_mod"
></A
></A
><B
>ms_mod</B
> :: <A HREF="GHC.html#t%3AModule"
>Module</A
></TD
><TD CLASS="rdoc"
>Identity of the module
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ms_hsc_src"
><A NAME="v%3Ams_hsc_src"
></A
></A
><B
>ms_hsc_src</B
> :: <A HREF="DriverPhases.html#t%3AHscSource"
>HscSource</A
></TD
><TD CLASS="rdoc"
>The module source either plain Haskell, hs-boot or external core
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ms_location"
><A NAME="v%3Ams_location"
></A
></A
><B
>ms_location</B
> :: <A HREF="GHC.html#t%3AModLocation"
>ModLocation</A
></TD
><TD CLASS="rdoc"
>Location of the various files belonging to the module
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ms_hs_date"
><A NAME="v%3Ams_hs_date"
></A
></A
><B
>ms_hs_date</B
> :: <A HREF="../old-time/System-Time.html#t%3AClockTime"
>ClockTime</A
></TD
><TD CLASS="rdoc"
>Timestamp of source file
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ms_obj_date"
><A NAME="v%3Ams_obj_date"
></A
></A
><B
>ms_obj_date</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../old-time/System-Time.html#t%3AClockTime"
>ClockTime</A
></TD
><TD CLASS="rdoc"
>Timestamp of object, if we have one
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ms_srcimps"
><A NAME="v%3Ams_srcimps"
></A
></A
><B
>ms_srcimps</B
> :: [<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
>]</TD
><TD CLASS="rdoc"
>Source imports of the module
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ms_imps"
><A NAME="v%3Ams_imps"
></A
></A
><B
>ms_imps</B
> :: [<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
>]</TD
><TD CLASS="rdoc"
>Non-source imports of the module
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ms_hspp_file"
><A NAME="v%3Ams_hspp_file"
></A
></A
><B
>ms_hspp_file</B
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
>Filename of preprocessed source file
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ms_hspp_opts"
><A NAME="v%3Ams_hspp_opts"
></A
></A
><B
>ms_hspp_opts</B
> :: <A HREF="GHC.html#t%3ADynFlags"
>DynFlags</A
></TD
><TD CLASS="rdoc"
>Cached flags from <TT
>OPTIONS</TT
>, <TT
>INCLUDE</TT
>
 and <TT
>LANGUAGE</TT
> pragmas in the modules source code
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ms_hspp_buf"
><A NAME="v%3Ams_hspp_buf"
></A
></A
><B
>ms_hspp_buf</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="StringBuffer.html#t%3AStringBuffer"
>StringBuffer</A
></TD
><TD CLASS="rdoc"
>The actual preprocessed source, if we have it
</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ModSummary')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ModSummary" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:ms_mod_name"
><A NAME="v%3Ams_mod_name"
></A
></A
><B
>ms_mod_name</B
> :: <A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
> -&gt; <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ModLocation"
><A NAME="t%3AModLocation"
></A
></A
><B
>ModLocation</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Where a module lives on the file system: the actual locations
 of the .hs, .hi and .o files, if we have them
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:ModLocation"
><A NAME="v%3AModLocation"
></A
></A
><B
>ModLocation</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:ml_hs_file"
><A NAME="v%3Aml_hs_file"
></A
></A
><B
>ml_hs_file</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ml_hi_file"
><A NAME="v%3Aml_hi_file"
></A
></A
><B
>ml_hi_file</B
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ml_obj_file"
><A NAME="v%3Aml_obj_file"
></A
></A
><B
>ml_obj_file</B
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ModLocation')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ModLocation" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="GHC.html#t%3AModLocation"
>ModLocation</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3AModLocation"
>ModLocation</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getModuleGraph"
><A NAME="v%3AgetModuleGraph"
></A
></A
><B
>getModuleGraph</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m <A HREF="GHC.html#t%3AModuleGraph"
>ModuleGraph</A
></TD
></TR
><TR
><TD CLASS="doc"
>Get the module dependency graph.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isLoaded"
><A NAME="v%3AisLoaded"
></A
></A
><B
>isLoaded</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
> -&gt; m <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Return <TT
>True</TT
> <A HREF="=="
>==</A
> module is loaded.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:topSortModuleGraph"
><A NAME="v%3AtopSortModuleGraph"
></A
></A
><B
>topSortModuleGraph</B
> :: <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; [<A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
>] -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
> -&gt; [<A HREF="Digraph.html#t%3ASCC"
>SCC</A
> <A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="9"
><A NAME="9"
>Inspecting modules
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ModuleInfo"
><A NAME="t%3AModuleInfo"
></A
></A
><B
>ModuleInfo</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Container for information about a <TT
><A HREF="GHC.html#t%3AModule"
>Module</A
></TT
>.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getModuleInfo"
><A NAME="v%3AgetModuleInfo"
></A
></A
><B
>getModuleInfo</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModule"
>Module</A
> -&gt; m (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
>)</TD
></TR
><TR
><TD CLASS="doc"
>Request information about a loaded <TT
><A HREF="GHC.html#t%3AModule"
>Module</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:modInfoTyThings"
><A NAME="v%3AmodInfoTyThings"
></A
></A
><B
>modInfoTyThings</B
> :: <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
> -&gt; [<A HREF="GHC.html#t%3ATyThing"
>TyThing</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>The list of top-level entities defined in a module
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:modInfoTopLevelScope"
><A NAME="v%3AmodInfoTopLevelScope"
></A
></A
><B
>modInfoTopLevelScope</B
> :: <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> [<A HREF="GHC.html#t%3AName"
>Name</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:modInfoExports"
><A NAME="v%3AmodInfoExports"
></A
></A
><B
>modInfoExports</B
> :: <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
> -&gt; [<A HREF="GHC.html#t%3AName"
>Name</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:modInfoInstances"
><A NAME="v%3AmodInfoInstances"
></A
></A
><B
>modInfoInstances</B
> :: <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
> -&gt; [<A HREF="GHC.html#t%3AInstance"
>Instance</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>Returns the instances defined by the specified module.
 Warning: currently unimplemented for package modules.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:modInfoIsExportedName"
><A NAME="v%3AmodInfoIsExportedName"
></A
></A
><B
>modInfoIsExportedName</B
> :: <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
> -&gt; <A HREF="GHC.html#t%3AName"
>Name</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:modInfoLookupName"
><A NAME="v%3AmodInfoLookupName"
></A
></A
><B
>modInfoLookupName</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
> -&gt; <A HREF="GHC.html#t%3AName"
>Name</A
> -&gt; m (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3ATyThing"
>TyThing</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:lookupGlobalName"
><A NAME="v%3AlookupGlobalName"
></A
></A
><B
>lookupGlobalName</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AName"
>Name</A
> -&gt; m (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3ATyThing"
>TyThing</A
>)</TD
></TR
><TR
><TD CLASS="doc"
>Looks up a global name: that is, any top-level name in any
 visible module.  Unlike <TT
><A HREF="GHC.html#v%3AlookupName"
>lookupName</A
></TT
>, lookupGlobalName does not use
 the interactive context, and therefore does not require a preceding
 <TT
><A HREF="GHC.html#v%3AsetContext"
>setContext</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkPrintUnqualifiedForModule"
><A NAME="v%3AmkPrintUnqualifiedForModule"
></A
></A
><B
>mkPrintUnqualifiedForModule</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
> -&gt; m (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3APrintUnqualified"
>PrintUnqualified</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="10"
><A NAME="10"
>Querying the environment
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:packageDbModules"
><A NAME="v%3ApackageDbModules"
></A
></A
><B
>packageDbModules</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>=&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="rdoc"
>Only consider exposed packages.
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; m [<A HREF="GHC.html#t%3AModule"
>Module</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
>Return all <EM
>external</EM
> modules available in the package database.
 Modules from the current session (i.e., from the <TT
><A HREF="HscTypes.html#t%3AHomePackageTable"
>HomePackageTable</A
></TT
>) are
 not included.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="11"
><A NAME="11"
>Printing
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:PrintUnqualified"
><A NAME="t%3APrintUnqualified"
></A
></A
><B
>PrintUnqualified</B
> = (QueryQualifyName, QueryQualifyModule)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:alwaysQualify"
><A NAME="v%3AalwaysQualify"
></A
></A
><B
>alwaysQualify</B
> :: <A HREF="GHC.html#t%3APrintUnqualified"
>PrintUnqualified</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="12"
><A NAME="12"
>Interactive evaluation
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getBindings"
><A NAME="v%3AgetBindings"
></A
></A
><B
>getBindings</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m [<A HREF="GHC.html#t%3ATyThing"
>TyThing</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>Return the bindings for the current interactive session.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getPrintUnqual"
><A NAME="v%3AgetPrintUnqual"
></A
></A
><B
>getPrintUnqual</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m <A HREF="GHC.html#t%3APrintUnqualified"
>PrintUnqualified</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:findModule"
><A NAME="v%3AfindModule"
></A
></A
><B
>findModule</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; m <A HREF="GHC.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="doc"
>Takes a <TT
><A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
></TT
> and possibly a <TT
><A HREF="GHC.html#t%3APackageId"
>PackageId</A
></TT
>, and consults the
 filesystem and package database to find the corresponding <TT
><A HREF="GHC.html#t%3AModule"
>Module</A
></TT
>, 
 using the algorithm that is used for an <TT
>import</TT
> declaration.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setContext"
><A NAME="v%3AsetContext"
></A
></A
><B
>setContext</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>=&gt; [<A HREF="GHC.html#t%3AModule"
>Module</A
>]</TD
><TD CLASS="rdoc"
>entire top level scope of these modules
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; [<A HREF="GHC.html#t%3AModule"
>Module</A
>]</TD
><TD CLASS="rdoc"
>exports only of these modules
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
><P
>Set the interactive evaluation context.
</P
><P
>Setting the context doesn't throw away any bindings; the bindings
 we've built up in the InteractiveContext simply move to the new
 module.  They always shadow anything in scope in the current context.
</P
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getContext"
><A NAME="v%3AgetContext"
></A
></A
><B
>getContext</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m ([<A HREF="GHC.html#t%3AModule"
>Module</A
>], [<A HREF="GHC.html#t%3AModule"
>Module</A
>])</TD
></TR
><TR
><TD CLASS="doc"
>Get the interactive evaluation context, consisting of a pair of the
 set of modules from which we take the full top-level scope, and the set
 of modules from which we take just the exports respectively.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getNamesInScope"
><A NAME="v%3AgetNamesInScope"
></A
></A
><B
>getNamesInScope</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m [<A HREF="GHC.html#t%3AName"
>Name</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>Returns all names in scope in the current interactive context
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getRdrNamesInScope"
><A NAME="v%3AgetRdrNamesInScope"
></A
></A
><B
>getRdrNamesInScope</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m [<A HREF="GHC.html#t%3ARdrName"
>RdrName</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getGRE"
><A NAME="v%3AgetGRE"
></A
></A
><B
>getGRE</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m <A HREF="RdrName.html#t%3AGlobalRdrEnv"
>GlobalRdrEnv</A
></TD
></TR
><TR
><TD CLASS="doc"
>get the GlobalRdrEnv for a session
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:moduleIsInterpreted"
><A NAME="v%3AmoduleIsInterpreted"
></A
></A
><B
>moduleIsInterpreted</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModule"
>Module</A
> -&gt; m <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Returns <TT
>True</TT
> if the specified module is interpreted, and hence has
 its full top-level scope available.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getInfo"
><A NAME="v%3AgetInfo"
></A
></A
><B
>getInfo</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AName"
>Name</A
> -&gt; m (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="GHC.html#t%3ATyThing"
>TyThing</A
>, <A HREF="BasicTypes.html#t%3AFixity"
>Fixity</A
>, [<A HREF="GHC.html#t%3AInstance"
>Instance</A
>]))</TD
></TR
><TR
><TD CLASS="doc"
>Looks up an identifier in the current interactive context (for :info)
 Filter the instances by the ones whose tycons (or clases resp) 
 are in scope (qualified or otherwise).  Otherwise we list a whole lot too many!
 The exact choice of which ones to show, and which to hide, is a judgement call.
 	(see Trac #1581)
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:exprType"
><A NAME="v%3AexprType"
></A
></A
><B
>exprType</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; m <A HREF="GHC.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="doc"
>Get the type of an expression
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:typeKind"
><A NAME="v%3AtypeKind"
></A
></A
><B
>typeKind</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; m <A HREF="GHC.html#t%3AKind"
>Kind</A
></TD
></TR
><TR
><TD CLASS="doc"
>Get the kind of a  type
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:parseName"
><A NAME="v%3AparseName"
></A
></A
><B
>parseName</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; m [<A HREF="GHC.html#t%3AName"
>Name</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>Parses a string as an identifier, and returns the list of <TT
><A HREF="GHC.html#t%3AName"
>Name</A
></TT
>s that
 the identifier can refer to in the current interactive context.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:RunResult"
><A NAME="t%3ARunResult"
></A
></A
><B
>RunResult</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:RunOk"
><A NAME="v%3ARunOk"
></A
></A
><B
>RunOk</B
> [<A HREF="GHC.html#t%3AName"
>Name</A
>]</TD
><TD CLASS="rdoc"
>names bound by this evaluation
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RunFailed"
><A NAME="v%3ARunFailed"
></A
></A
><B
>RunFailed</B
></TD
><TD CLASS="rdoc"
>statement failed compilation
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RunException"
><A NAME="v%3ARunException"
></A
></A
><B
>RunException</B
> <A HREF="../base/Control-Exception-Base.html#t%3ASomeException"
>SomeException</A
></TD
><TD CLASS="rdoc"
>statement raised an exception
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RunBreak"
><A NAME="v%3ARunBreak"
></A
></A
><B
>RunBreak</B
> <A HREF="../base/Control-Concurrent.html#t%3AThreadId"
>ThreadId</A
> [<A HREF="GHC.html#t%3AName"
>Name</A
>] (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3ABreakInfo"
>BreakInfo</A
>)</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:runStmt"
><A NAME="v%3ArunStmt"
></A
></A
><B
>runStmt</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="GHC.html#t%3ASingleStep"
>SingleStep</A
> -&gt; m <A HREF="GHC.html#t%3ARunResult"
>RunResult</A
></TD
></TR
><TR
><TD CLASS="doc"
>Run a statement in the current interactive context.  Statement
 may bind multple values.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:SingleStep"
><A NAME="t%3ASingleStep"
></A
></A
><B
>SingleStep</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:RunToCompletion"
><A NAME="v%3ARunToCompletion"
></A
></A
><B
>RunToCompletion</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:SingleStep"
><A NAME="v%3ASingleStep"
></A
></A
><B
>SingleStep</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:RunAndLogSteps"
><A NAME="v%3ARunAndLogSteps"
></A
></A
><B
>RunAndLogSteps</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:resume"
><A NAME="v%3Aresume"
></A
></A
><B
>resume</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; (<A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="GHC.html#t%3ASingleStep"
>SingleStep</A
> -&gt; m <A HREF="GHC.html#t%3ARunResult"
>RunResult</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Resume"
><A NAME="t%3AResume"
></A
></A
><B
>Resume</B
>  </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:History"
><A NAME="t%3AHistory"
></A
></A
><B
>History</B
>  </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getHistorySpan"
><A NAME="v%3AgetHistorySpan"
></A
></A
><B
>getHistorySpan</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AHistory"
>History</A
> -&gt; m <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getHistoryModule"
><A NAME="v%3AgetHistoryModule"
></A
></A
><B
>getHistoryModule</B
> :: <A HREF="GHC.html#t%3AHistory"
>History</A
> -&gt; <A HREF="GHC.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getResumeContext"
><A NAME="v%3AgetResumeContext"
></A
></A
><B
>getResumeContext</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m [<A HREF="GHC.html#t%3AResume"
>Resume</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:abandon"
><A NAME="v%3Aabandon"
></A
></A
><B
>abandon</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:abandonAll"
><A NAME="v%3AabandonAll"
></A
></A
><B
>abandonAll</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:back"
><A NAME="v%3Aback"
></A
></A
><B
>back</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m ([<A HREF="GHC.html#t%3AName"
>Name</A
>], <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>, <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:forward"
><A NAME="v%3Aforward"
></A
></A
><B
>forward</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; m ([<A HREF="GHC.html#t%3AName"
>Name</A
>], <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>, <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:showModule"
><A NAME="v%3AshowModule"
></A
></A
><B
>showModule</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
> -&gt; m <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isModuleInterpreted"
><A NAME="v%3AisModuleInterpreted"
></A
></A
><B
>isModuleInterpreted</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
> -&gt; m <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:compileExpr"
><A NAME="v%3AcompileExpr"
></A
></A
><B
>compileExpr</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; m <A HREF="GHC.html#t%3AHValue"
>HValue</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:HValue"
><A NAME="t%3AHValue"
></A
></A
><B
>HValue</B
>  </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:dynCompileExpr"
><A NAME="v%3AdynCompileExpr"
></A
></A
><B
>dynCompileExpr</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; m <A HREF="../base/Data-Dynamic.html#t%3ADynamic"
>Dynamic</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:lookupName"
><A NAME="v%3AlookupName"
></A
></A
><B
>lookupName</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AName"
>Name</A
> -&gt; m (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3ATyThing"
>TyThing</A
>)</TD
></TR
><TR
><TD CLASS="doc"
>Returns the <TT
><A HREF="GHC.html#t%3ATyThing"
>TyThing</A
></TT
> for a <TT
><A HREF="GHC.html#t%3AName"
>Name</A
></TT
>.  The <TT
><A HREF="GHC.html#t%3AName"
>Name</A
></TT
> may refer to any
 entity known to GHC, including <TT
><A HREF="GHC.html#t%3AName"
>Name</A
></TT
>s defined using <TT
><A HREF="GHC.html#v%3ArunStmt"
>runStmt</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:obtainTermFromId"
><A NAME="v%3AobtainTermFromId"
></A
></A
><B
>obtainTermFromId</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; m <A HREF="RtClosureInspect.html#t%3ATerm"
>Term</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:obtainTermFromVal"
><A NAME="v%3AobtainTermFromVal"
></A
></A
><B
>obtainTermFromVal</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="GHC.html#t%3AType"
>Type</A
> -&gt; a -&gt; m <A HREF="RtClosureInspect.html#t%3ATerm"
>Term</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:reconstructType"
><A NAME="v%3AreconstructType"
></A
></A
><B
>reconstructType</B
> :: <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3AType"
>Type</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:modInfoModBreaks"
><A NAME="v%3AmodInfoModBreaks"
></A
></A
><B
>modInfoModBreaks</B
> :: <A HREF="GHC.html#t%3AModuleInfo"
>ModuleInfo</A
> -&gt; <A HREF="GHC.html#t%3AModBreaks"
>ModBreaks</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ModBreaks"
><A NAME="t%3AModBreaks"
></A
></A
><B
>ModBreaks</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>All the information about the breakpoints for a given module
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:ModBreaks"
><A NAME="v%3AModBreaks"
></A
></A
><B
>ModBreaks</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="body" COLSPAN="2"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:modBreaks_flags"
><A NAME="v%3AmodBreaks_flags"
></A
></A
><B
>modBreaks_flags</B
> :: <A HREF="GHC.html#t%3ABreakArray"
>BreakArray</A
></TD
><TD CLASS="rdoc"
>The array of flags, one per breakpoint, 
 indicating which breakpoints are enabled.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:modBreaks_locs"
><A NAME="v%3AmodBreaks_locs"
></A
></A
><B
>modBreaks_locs</B
> :: !(<A HREF="../base/GHC-Arr.html#t%3AArray"
>Array</A
> <A HREF="GHC.html#t%3ABreakIndex"
>BreakIndex</A
> <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
>)</TD
><TD CLASS="rdoc"
>An array giving the source span of each breakpoint.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:modBreaks_vars"
><A NAME="v%3AmodBreaks_vars"
></A
></A
><B
>modBreaks_vars</B
> :: !(<A HREF="../base/GHC-Arr.html#t%3AArray"
>Array</A
> <A HREF="GHC.html#t%3ABreakIndex"
>BreakIndex</A
> [<A HREF="OccName.html#t%3AOccName"
>OccName</A
>])</TD
><TD CLASS="rdoc"
>An array giving the names of the free variables at each breakpoint.
</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:BreakIndex"
><A NAME="t%3ABreakIndex"
></A
></A
><B
>BreakIndex</B
> = <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Breakpoint index
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:BreakInfo"
><A NAME="t%3ABreakInfo"
></A
></A
><B
>BreakInfo</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:BreakInfo')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:BreakInfo" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3ABreakInfo"
>BreakInfo</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:BreakArray"
><A NAME="t%3ABreakArray"
></A
></A
><B
>BreakArray</B
>  </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setBreakOn"
><A NAME="v%3AsetBreakOn"
></A
></A
><B
>setBreakOn</B
> :: <A HREF="GHC.html#t%3ABreakArray"
>BreakArray</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setBreakOff"
><A NAME="v%3AsetBreakOff"
></A
></A
><B
>setBreakOff</B
> :: <A HREF="GHC.html#t%3ABreakArray"
>BreakArray</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getBreak"
><A NAME="v%3AgetBreak"
></A
></A
><B
>getBreak</B
> :: <A HREF="GHC.html#t%3ABreakArray"
>BreakArray</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/Data-Word.html#t%3AWord"
>Word</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="13"
><A NAME="13"
>Abstract syntax elements
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="14"
><A NAME="14"
>Packages
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:PackageId"
><A NAME="t%3APackageId"
></A
></A
><B
>PackageId</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Essentially just a string identifying a package, including the version: e.g. parsec-1.0
</TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:PackageId')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:PackageId" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="GHC.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Unique.html#t%3AUniquable"
>Uniquable</A
> <A HREF="GHC.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Binary.html#t%3ABinary"
>Binary</A
> <A HREF="GHC.html#t%3APackageId"
>PackageId</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="15"
><A NAME="15"
>Modules
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Module"
><A NAME="t%3AModule"
></A
></A
><B
>Module</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A Module is a pair of a <TT
><A HREF="GHC.html#t%3APackageId"
>PackageId</A
></TT
> and a <TT
><A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Module')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Module" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="GHC.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Unique.html#t%3AUniquable"
>Uniquable</A
> <A HREF="GHC.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Binary.html#t%3ABinary"
>Binary</A
> <A HREF="GHC.html#t%3AModule"
>Module</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkModule"
><A NAME="v%3AmkModule"
></A
></A
><B
>mkModule</B
> :: <A HREF="GHC.html#t%3APackageId"
>PackageId</A
> -&gt; <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="GHC.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprModule"
><A NAME="v%3ApprModule"
></A
></A
><B
>pprModule</B
> :: <A HREF="GHC.html#t%3AModule"
>Module</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:moduleName"
><A NAME="v%3AmoduleName"
></A
></A
><B
>moduleName</B
> :: <A HREF="GHC.html#t%3AModule"
>Module</A
> -&gt; <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:modulePackageId"
><A NAME="v%3AmodulePackageId"
></A
></A
><B
>modulePackageId</B
> :: <A HREF="GHC.html#t%3AModule"
>Module</A
> -&gt; <A HREF="GHC.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ModuleName"
><A NAME="t%3AModuleName"
></A
></A
><B
>ModuleName</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A ModuleName is essentially a simple string, e.g. <TT
>Data.List</TT
>.
</TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ModuleName')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ModuleName" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Unique.html#t%3AUniquable"
>Uniquable</A
> <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Binary.html#t%3ABinary"
>Binary</A
> <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkModuleName"
><A NAME="v%3AmkModuleName"
></A
></A
><B
>mkModuleName</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:moduleNameString"
><A NAME="v%3AmoduleNameString"
></A
></A
><B
>moduleNameString</B
> :: <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="16"
><A NAME="16"
>Names
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Name"
><A NAME="t%3AName"
></A
></A
><B
>Name</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A unique, unambigious name for something, containing information about where
 that thing originated.
</TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Name')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Name" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="GHC.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputableBndr"
>OutputableBndr</A
> <A HREF="GHC.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Unique.html#t%3AUniquable"
>Uniquable</A
> <A HREF="GHC.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Binary.html#t%3ABinary"
>Binary</A
> <A HREF="GHC.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3ANamedThing"
>NamedThing</A
> <A HREF="GHC.html#t%3AName"
>Name</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isExternalName"
><A NAME="v%3AisExternalName"
></A
></A
><B
>isExternalName</B
> :: <A HREF="GHC.html#t%3AName"
>Name</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:nameModule"
><A NAME="v%3AnameModule"
></A
></A
><B
>nameModule</B
> :: <A HREF="GHC.html#t%3AName"
>Name</A
> -&gt; <A HREF="GHC.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprParenSymName"
><A NAME="v%3ApprParenSymName"
></A
></A
><B
>pprParenSymName</B
> :: <A HREF="GHC.html#t%3ANamedThing"
>NamedThing</A
> a =&gt; a -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="doc"
>print a <TT
><A HREF="GHC.html#t%3ANamedThing"
>NamedThing</A
></TT
>, adding parentheses if the name is an operator.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:nameSrcSpan"
><A NAME="v%3AnameSrcSpan"
></A
></A
><B
>nameSrcSpan</B
> :: <A HREF="GHC.html#t%3AName"
>Name</A
> -&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
>  <A NAME="t:NamedThing"
><A NAME="t%3ANamedThing"
></A
></A
><B
>NamedThing</B
> a  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A class allowing convenient access to the <TT
><A HREF="GHC.html#t%3AName"
>Name</A
></TT
> of various datatypes
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Methods</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A NAME="v:getOccName"
><A NAME="v%3AgetOccName"
></A
></A
><B
>getOccName</B
> :: a -&gt; <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getName"
><A NAME="v%3AgetName"
></A
></A
><B
>getName</B
> :: a -&gt; <A HREF="GHC.html#t%3AName"
>Name</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:NamedThing')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:NamedThing" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3ANamedThing"
>NamedThing</A
> <A HREF="GHC.html#t%3ATyThing"
>TyThing</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3ANamedThing"
>NamedThing</A
> <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3ANamedThing"
>NamedThing</A
> <A HREF="GHC.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3ANamedThing"
>NamedThing</A
> <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3ANamedThing"
>NamedThing</A
> <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3ANamedThing"
>NamedThing</A
> <A HREF="GHC.html#t%3AClass"
>Class</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3ANamedThing"
>NamedThing</A
> <A HREF="GHC.html#t%3AInstance"
>Instance</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3ANamedThing"
>NamedThing</A
> <A HREF="FamInstEnv.html#t%3AFamInst"
>FamInst</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:RdrName"
><A NAME="t%3ARdrName"
></A
></A
><B
>RdrName</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Do not use the data constructors of RdrName directly: prefer the family
 of functions that creates them, such as <TT
><A HREF="RdrName.html#v%3AmkRdrUnqual"
>mkRdrUnqual</A
></TT
>
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:Unqual"
><A NAME="v%3AUnqual"
></A
></A
><B
>Unqual</B
> <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
><TD CLASS="rdoc"
>Used for ordinary, unqualified occurrences, e.g. <TT
>x</TT
>, <TT
>y</TT
> or <TT
>Foo</TT
>.
 Create such a <TT
><A HREF="GHC.html#t%3ARdrName"
>RdrName</A
></TT
> with <TT
><A HREF="RdrName.html#v%3AmkRdrUnqual"
>mkRdrUnqual</A
></TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Qual"
><A NAME="v%3AQual"
></A
></A
><B
>Qual</B
> <A HREF="GHC.html#t%3AModuleName"
>ModuleName</A
> <A HREF="OccName.html#t%3AOccName"
>OccName</A
></TD
><TD CLASS="rdoc"
>A qualified name written by the user in 
 <EM
>source</EM
> code.  The module isn't necessarily 
 the module where the thing is defined; 
 just the one from which it is imported.
 Examples are <TT
>Bar.x</TT
>, <TT
>Bar.y</TT
> or <TT
>Bar.Foo</TT
>.
 Create such a <TT
><A HREF="GHC.html#t%3ARdrName"
>RdrName</A
></TT
> with <TT
><A HREF="RdrName.html#v%3AmkRdrQual"
>mkRdrQual</A
></TT
>
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:RdrName')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:RdrName" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3ARdrName"
>RdrName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="GHC.html#t%3ARdrName"
>RdrName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputableBndr"
>OutputableBndr</A
> <A HREF="GHC.html#t%3ARdrName"
>RdrName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3ARdrName"
>RdrName</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="17"
><A NAME="17"
>Identifiers
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:Id"
><A NAME="t%3AId"
></A
></A
><B
>Id</B
> = <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:idType"
><A NAME="v%3AidType"
></A
></A
><B
>idType</B
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="GHC.html#t%3AKind"
>Kind</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isImplicitId"
><A NAME="v%3AisImplicitId"
></A
></A
><B
>isImplicitId</B
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
><TT
><A HREF="GHC.html#v%3AisImplicitId"
>isImplicitId</A
></TT
> tells whether an <TT
><A HREF="GHC.html#t%3AId"
>Id</A
></TT
>s info is implied by other
 declarations, so we don't need to put its signature in an interface
 file, even if it's mentioned in some other interface unfolding.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isDeadBinder"
><A NAME="v%3AisDeadBinder"
></A
></A
><B
>isDeadBinder</B
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isExportedId"
><A NAME="v%3AisExportedId"
></A
></A
><B
>isExportedId</B
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Determines whether an <TT
><A HREF="GHC.html#t%3AId"
>Id</A
></TT
> is marked as exported and hence will not be considered dead code
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isLocalId"
><A NAME="v%3AisLocalId"
></A
></A
><B
>isLocalId</B
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>For an explanation of global vs. local <TT
><A HREF="GHC.html#t%3AId"
>Id</A
></TT
>s, see <A HREF="Var.html#globalvslocal"
>Var</A
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isGlobalId"
><A NAME="v%3AisGlobalId"
></A
></A
><B
>isGlobalId</B
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>For an explanation of global vs. local <TT
><A HREF="GHC.html#t%3AId"
>Id</A
></TT
>s, see <A HREF="Var.html#globalvslocal"
>Var</A
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isRecordSelector"
><A NAME="v%3AisRecordSelector"
></A
></A
><B
>isRecordSelector</B
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isPrimOpId"
><A NAME="v%3AisPrimOpId"
></A
></A
><B
>isPrimOpId</B
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isFCallId"
><A NAME="v%3AisFCallId"
></A
></A
><B
>isFCallId</B
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isClassOpId_maybe"
><A NAME="v%3AisClassOpId_maybe"
></A
></A
><B
>isClassOpId_maybe</B
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="GHC.html#t%3AClass"
>Class</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isDataConWorkId"
><A NAME="v%3AisDataConWorkId"
></A
></A
><B
>isDataConWorkId</B
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:idDataCon"
><A NAME="v%3AidDataCon"
></A
></A
><B
>idDataCon</B
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Get from either the worker or the wrapper <TT
><A HREF="GHC.html#t%3AId"
>Id</A
></TT
> to the <TT
><A HREF="GHC.html#t%3ADataCon"
>DataCon</A
></TT
>. Currently used only in the desugarer.
</P
><P
>INVARIANT: <TT
>idDataCon (dataConWrapId d) = d</TT
>: remember, <TT
><A HREF="DataCon.html#v%3AdataConWrapId"
>dataConWrapId</A
></TT
> can return either the wrapper or the worker
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isBottomingId"
><A NAME="v%3AisBottomingId"
></A
></A
><B
>isBottomingId</B
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Returns true if an application to n args would diverge
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isDictonaryId"
><A NAME="v%3AisDictonaryId"
></A
></A
><B
>isDictonaryId</B
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:recordSelectorFieldLabel"
><A NAME="v%3ArecordSelectorFieldLabel"
></A
></A
><B
>recordSelectorFieldLabel</B
> :: <A HREF="GHC.html#t%3AId"
>Id</A
> -&gt; (<A HREF="GHC.html#t%3ATyCon"
>TyCon</A
>, <A HREF="TyCon.html#t%3AFieldLabel"
>FieldLabel</A
>)</TD
></TR
><TR
><TD CLASS="doc"
>If the <TT
><A HREF="GHC.html#t%3AId"
>Id</A
></TT
> is that for a record selector, extract the <TT
><A HREF="IdInfo.html#v%3Asel_tycon"
>sel_tycon</A
></TT
> and label. Panic otherwise
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="18"
><A NAME="18"
>Type constructors
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:TyCon"
><A NAME="t%3ATyCon"
></A
></A
><B
>TyCon</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>Represents type constructors. Type constructors are introduced by things such as:
</P
><P
>1) Data declarations: <TT
>data Foo = ...</TT
> creates the <TT
>Foo</TT
> type constructor of kind <TT
>*</TT
>
</P
><P
>2) Type synonyms: <TT
>type Foo = ...</TT
> creates the <TT
>Foo</TT
> type constructor
</P
><P
>3) Newtypes: <TT
>newtype Foo a = MkFoo ...</TT
> creates the <TT
>Foo</TT
> type constructor of kind <TT
>* -&gt; *</TT
>
</P
><P
>4) Class declarations: <TT
>class Foo where</TT
> creates the <TT
>Foo</TT
> type constructor of kind <TT
>*</TT
>
</P
><P
>5) Type coercions! This is because we represent a coercion from <TT
>t1</TT
> to <TT
>t2</TT
> as a <TT
><A HREF="GHC.html#t%3AType"
>Type</A
></TT
>, where
    that type has kind <TT
>t1 ~ t2</TT
>. See <A HREF="Coercion.html"
>Coercion</A
> for more on this
</P
><P
>This data type also encodes a number of primitive, built in type constructors such as those
 for function and tuple types.
</P
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:TyCon')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:TyCon" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Unique.html#t%3AUniquable"
>Uniquable</A
> <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3ANamedThing"
>NamedThing</A
> <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tyConTyVars"
><A NAME="v%3AtyConTyVars"
></A
></A
><B
>tyConTyVars</B
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; [<A HREF="GHC.html#t%3ATyVar"
>TyVar</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tyConDataCons"
><A NAME="v%3AtyConDataCons"
></A
></A
><B
>tyConDataCons</B
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; [<A HREF="GHC.html#t%3ADataCon"
>DataCon</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>As <TT
><A HREF="TyCon.html#v%3AtyConDataCons_maybe"
>tyConDataCons_maybe</A
></TT
>, but returns the empty list of constructors if no constructors
 could be found
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tyConArity"
><A NAME="v%3AtyConArity"
></A
></A
><B
>tyConArity</B
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; <A HREF="BasicTypes.html#t%3AArity"
>Arity</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isClassTyCon"
><A NAME="v%3AisClassTyCon"
></A
></A
><B
>isClassTyCon</B
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Is this <TT
><A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TT
> that for a class instance?
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isSynTyCon"
><A NAME="v%3AisSynTyCon"
></A
></A
><B
>isSynTyCon</B
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>A <EM
>product</EM
> <TT
><A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TT
> must both:
</P
><P
>1. Have <EM
>one</EM
> constructor
</P
><P
>2. <EM
>Not</EM
> be existential
</P
><P
>However other than this there are few restrictions: they may be <TT
>data</TT
> or <TT
>newtype</TT
> 
 <TT
><A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TT
>s of any boxity and may even be recursive.
</P
><P
>Is this a <TT
><A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TT
> representing a type synonym (<TT
>type</TT
>)?
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isNewTyCon"
><A NAME="v%3AisNewTyCon"
></A
></A
><B
>isNewTyCon</B
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Is this <TT
><A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TT
> that for a <TT
>newtype</TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isPrimTyCon"
><A NAME="v%3AisPrimTyCon"
></A
></A
><B
>isPrimTyCon</B
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Does this <TT
><A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TT
> represent something that cannot be defined in Haskell?
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isFunTyCon"
><A NAME="v%3AisFunTyCon"
></A
></A
><B
>isFunTyCon</B
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isOpenTyCon"
><A NAME="v%3AisOpenTyCon"
></A
></A
><B
>isOpenTyCon</B
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Is this a <TT
><A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TT
>, synonym or otherwise, that may have further instances appear?
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:synTyConDefn"
><A NAME="v%3AsynTyConDefn"
></A
></A
><B
>synTyConDefn</B
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; ([<A HREF="GHC.html#t%3ATyVar"
>TyVar</A
>], <A HREF="GHC.html#t%3AType"
>Type</A
>)</TD
></TR
><TR
><TD CLASS="doc"
>Extract the <TT
><A HREF="GHC.html#t%3ATyVar"
>TyVar</A
></TT
>s bound by a type synonym and the corresponding (unsubstituted) right hand side.
 If the given <TT
><A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TT
> is not a type synonym, panics
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:synTyConType"
><A NAME="v%3AsynTyConType"
></A
></A
><B
>synTyConType</B
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; <A HREF="GHC.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="doc"
>Find the expansion of the type synonym represented by the given <TT
><A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TT
>. The free variables of this
 type will typically include those <TT
><A HREF="GHC.html#t%3ATyVar"
>TyVar</A
></TT
>s bound by the <TT
><A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TT
>. Panics if the <TT
><A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TT
> is not that of
 a type synonym
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:synTyConResKind"
><A NAME="v%3AsynTyConResKind"
></A
></A
><B
>synTyConResKind</B
> :: <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
> -&gt; <A HREF="GHC.html#t%3AKind"
>Kind</A
></TD
></TR
><TR
><TD CLASS="doc"
>Find the <TT
><A HREF="GHC.html#t%3AKind"
>Kind</A
></TT
> of an open type synonym. Panics if the <TT
><A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TT
> is not an open type synonym
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="19"
><A NAME="19"
>Type variables
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:TyVar"
><A NAME="t%3ATyVar"
></A
></A
><B
>TyVar</B
> = <A HREF="Var.html#t%3AVar"
>Var</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:alphaTyVars"
><A NAME="v%3AalphaTyVars"
></A
></A
><B
>alphaTyVars</B
> :: [<A HREF="GHC.html#t%3ATyVar"
>TyVar</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="20"
><A NAME="20"
>Data constructors
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:DataCon"
><A NAME="t%3ADataCon"
></A
></A
><B
>DataCon</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A data constructor
</TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:DataCon')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:DataCon" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Unique.html#t%3AUniquable"
>Uniquable</A
> <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3ANamedThing"
>NamedThing</A
> <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:dataConSig"
><A NAME="v%3AdataConSig"
></A
></A
><B
>dataConSig</B
> :: <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
> -&gt; ([<A HREF="GHC.html#t%3ATyVar"
>TyVar</A
>], <A HREF="GHC.html#t%3AThetaType"
>ThetaType</A
>, [<A HREF="GHC.html#t%3AType"
>Type</A
>], <A HREF="GHC.html#t%3AType"
>Type</A
>)</TD
></TR
><TR
><TD CLASS="doc"
><P
>The &quot;signature&quot; of the <TT
><A HREF="GHC.html#t%3ADataCon"
>DataCon</A
></TT
> returns, in order:
</P
><P
>1) The result of <TT
><A HREF="DataCon.html#v%3AdataConAllTyVars"
>dataConAllTyVars</A
></TT
>,
</P
><P
>2) All the <TT
><A HREF="GHC.html#t%3AThetaType"
>ThetaType</A
></TT
>s relating to the <TT
><A HREF="GHC.html#t%3ADataCon"
>DataCon</A
></TT
> (coercion, dictionary, implicit
    parameter - whatever)
</P
><P
>3) The type arguments to the constructor
</P
><P
>4) The <EM
>original</EM
> result type of the <TT
><A HREF="GHC.html#t%3ADataCon"
>DataCon</A
></TT
>
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:dataConType"
><A NAME="v%3AdataConType"
></A
></A
><B
>dataConType</B
> :: <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
> -&gt; <A HREF="GHC.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:dataConTyCon"
><A NAME="v%3AdataConTyCon"
></A
></A
><B
>dataConTyCon</B
> :: <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
> -&gt; <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TD
></TR
><TR
><TD CLASS="doc"
>The type constructor that we are building via this data constructor
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:dataConFieldLabels"
><A NAME="v%3AdataConFieldLabels"
></A
></A
><B
>dataConFieldLabels</B
> :: <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
> -&gt; [<A HREF="TyCon.html#t%3AFieldLabel"
>FieldLabel</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>The labels for the fields of this particular <TT
><A HREF="GHC.html#t%3ADataCon"
>DataCon</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:dataConIsInfix"
><A NAME="v%3AdataConIsInfix"
></A
></A
><B
>dataConIsInfix</B
> :: <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Should the <TT
><A HREF="GHC.html#t%3ADataCon"
>DataCon</A
></TT
> be presented infix?
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isVanillaDataCon"
><A NAME="v%3AisVanillaDataCon"
></A
></A
><B
>isVanillaDataCon</B
> :: <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Vanilla <TT
><A HREF="GHC.html#t%3ADataCon"
>DataCon</A
></TT
>s are those that are nice boring Haskell 98 constructors
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:dataConStrictMarks"
><A NAME="v%3AdataConStrictMarks"
></A
></A
><B
>dataConStrictMarks</B
> :: <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
> -&gt; [<A HREF="GHC.html#t%3AStrictnessMark"
>StrictnessMark</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>The strictness markings decided on by the compiler.  Does not include those for
 existential dictionaries.  The list is in one-to-one correspondence with the arity of the <TT
><A HREF="GHC.html#t%3ADataCon"
>DataCon</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:StrictnessMark"
><A NAME="t%3AStrictnessMark"
></A
></A
><B
>StrictnessMark</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:MarkedStrict"
><A NAME="v%3AMarkedStrict"
></A
></A
><B
>MarkedStrict</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:MarkedUnboxed"
><A NAME="v%3AMarkedUnboxed"
></A
></A
><B
>MarkedUnboxed</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:NotMarkedStrict"
><A NAME="v%3ANotMarkedStrict"
></A
></A
><B
>NotMarkedStrict</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:StrictnessMark')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:StrictnessMark" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3AStrictnessMark"
>StrictnessMark</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3AStrictnessMark"
>StrictnessMark</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Binary.html#t%3ABinary"
>Binary</A
> <A HREF="GHC.html#t%3AStrictnessMark"
>StrictnessMark</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isMarkedStrict"
><A NAME="v%3AisMarkedStrict"
></A
></A
><B
>isMarkedStrict</B
> :: <A HREF="GHC.html#t%3AStrictnessMark"
>StrictnessMark</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="21"
><A NAME="21"
>Classes
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Class"
><A NAME="t%3AClass"
></A
></A
><B
>Class</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Class')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Class" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3AClass"
>Class</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="GHC.html#t%3AClass"
>Class</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="GHC.html#t%3AClass"
>Class</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3AClass"
>Class</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Unique.html#t%3AUniquable"
>Uniquable</A
> <A HREF="GHC.html#t%3AClass"
>Class</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3ANamedThing"
>NamedThing</A
> <A HREF="GHC.html#t%3AClass"
>Class</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:classMethods"
><A NAME="v%3AclassMethods"
></A
></A
><B
>classMethods</B
> :: <A HREF="GHC.html#t%3AClass"
>Class</A
> -&gt; [<A HREF="GHC.html#t%3AId"
>Id</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:classSCTheta"
><A NAME="v%3AclassSCTheta"
></A
></A
><B
>classSCTheta</B
> :: <A HREF="GHC.html#t%3AClass"
>Class</A
> -&gt; [<A HREF="GHC.html#t%3APredType"
>PredType</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:classTvsFds"
><A NAME="v%3AclassTvsFds"
></A
></A
><B
>classTvsFds</B
> :: <A HREF="GHC.html#t%3AClass"
>Class</A
> -&gt; ([<A HREF="GHC.html#t%3ATyVar"
>TyVar</A
>], [<A HREF="Class.html#t%3AFunDep"
>FunDep</A
> <A HREF="GHC.html#t%3ATyVar"
>TyVar</A
>])</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprFundeps"
><A NAME="v%3ApprFundeps"
></A
></A
><B
>pprFundeps</B
> :: <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> a =&gt; [<A HREF="Class.html#t%3AFunDep"
>FunDep</A
> a] -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="22"
><A NAME="22"
>Instances
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Instance"
><A NAME="t%3AInstance"
></A
></A
><B
>Instance</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Instance')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Instance" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3AInstance"
>Instance</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3ANamedThing"
>NamedThing</A
> <A HREF="GHC.html#t%3AInstance"
>Instance</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:instanceDFunId"
><A NAME="v%3AinstanceDFunId"
></A
></A
><B
>instanceDFunId</B
> :: <A HREF="GHC.html#t%3AInstance"
>Instance</A
> -&gt; <A HREF="InstEnv.html#t%3ADFunId"
>DFunId</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprInstance"
><A NAME="v%3ApprInstance"
></A
></A
><B
>pprInstance</B
> :: <A HREF="GHC.html#t%3AInstance"
>Instance</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprInstanceHdr"
><A NAME="v%3ApprInstanceHdr"
></A
></A
><B
>pprInstanceHdr</B
> :: <A HREF="GHC.html#t%3AInstance"
>Instance</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="23"
><A NAME="23"
>Types and Kinds
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Type"
><A NAME="t%3AType"
></A
></A
><B
>Type</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The key representation of types within the compiler
</TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Type')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Type" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3AType"
>Type</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:splitForAllTys"
><A NAME="v%3AsplitForAllTys"
></A
></A
><B
>splitForAllTys</B
> :: <A HREF="GHC.html#t%3AType"
>Type</A
> -&gt; ([<A HREF="GHC.html#t%3ATyVar"
>TyVar</A
>], <A HREF="GHC.html#t%3AType"
>Type</A
>)</TD
></TR
><TR
><TD CLASS="doc"
>Attempts to take a forall type apart, returning all the immediate such bound
 type variables and the remainder of the type. Always suceeds, even if that means
 returning an empty list of <TT
><A HREF="GHC.html#t%3ATyVar"
>TyVar</A
></TT
>s
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:funResultTy"
><A NAME="v%3AfunResultTy"
></A
></A
><B
>funResultTy</B
> :: <A HREF="GHC.html#t%3AType"
>Type</A
> -&gt; <A HREF="GHC.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="doc"
>Extract the function result type and panic if that is not possible
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprParendType"
><A NAME="v%3ApprParendType"
></A
></A
><B
>pprParendType</B
> :: <A HREF="GHC.html#t%3AType"
>Type</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprTypeApp"
><A NAME="v%3ApprTypeApp"
></A
></A
><B
>pprTypeApp</B
> :: <A HREF="GHC.html#t%3ANamedThing"
>NamedThing</A
> a =&gt; a -&gt; [<A HREF="GHC.html#t%3AType"
>Type</A
>] -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:Kind"
><A NAME="t%3AKind"
></A
></A
><B
>Kind</B
> = <A HREF="GHC.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>The key type representing kinds in the compiler.
 Invariant: a kind is always in one of these forms:
</P
><PRE
> FunTy k1 k2
 TyConApp PrimTyCon [...]
 TyVar kv   -- (during inference only)
 ForAll ... -- (for top-level coercions)
</PRE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:PredType"
><A NAME="t%3APredType"
></A
></A
><B
>PredType</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>A type of the form <TT
>PredTy p</TT
> represents a value whose type is
 the Haskell predicate <TT
>p</TT
>, where a predicate is what occurs before 
 the <TT
>=&gt;</TT
> in a Haskell type.
 It can be expanded into its representation, but: 
</P
><UL
><LI
> The type checker must treat it as opaque
</LI
><LI
> The rest of the compiler treats it as transparent
</LI
></UL
><P
>Consider these examples:
</P
><PRE
> f :: (Eq a) =&gt; a -&gt; Int
 g :: (?x :: Int -&gt; Int) =&gt; a -&gt; Int
 h :: (r\l) =&gt; {r} =&gt; {l::Int | r}
</PRE
><P
>Here the <TT
>Eq a</TT
> and <TT
>?x :: Int -&gt; Int</TT
> and <TT
>rl</TT
> are all called &quot;predicates&quot;
</P
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:PredType')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:PredType" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3APredType"
>PredType</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="GHC.html#t%3APredType"
>PredType</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3APredType"
>PredType</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:ThetaType"
><A NAME="t%3AThetaType"
></A
></A
><B
>ThetaType</B
> = [<A HREF="GHC.html#t%3APredType"
>PredType</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>A collection of <TT
><A HREF="GHC.html#t%3APredType"
>PredType</A
></TT
>s
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprThetaArrow"
><A NAME="v%3ApprThetaArrow"
></A
></A
><B
>pprThetaArrow</B
> :: <A HREF="GHC.html#t%3AThetaType"
>ThetaType</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="24"
><A NAME="24"
>Entities
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:TyThing"
><A NAME="t%3ATyThing"
></A
></A
><B
>TyThing</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A typecheckable-thing, essentially anything that has a name
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:AnId"
><A NAME="v%3AAnId"
></A
></A
><B
>AnId</B
> <A HREF="GHC.html#t%3AId"
>Id</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ADataCon"
><A NAME="v%3AADataCon"
></A
></A
><B
>ADataCon</B
> <A HREF="GHC.html#t%3ADataCon"
>DataCon</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ATyCon"
><A NAME="v%3AATyCon"
></A
></A
><B
>ATyCon</B
> <A HREF="GHC.html#t%3ATyCon"
>TyCon</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:AClass"
><A NAME="v%3AAClass"
></A
></A
><B
>AClass</B
> <A HREF="GHC.html#t%3AClass"
>Class</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:TyThing')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:TyThing" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3ATyThing"
>TyThing</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="GHC.html#t%3ANamedThing"
>NamedThing</A
> <A HREF="GHC.html#t%3ATyThing"
>TyThing</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="25"
><A NAME="25"
>Syntax
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
>module <A HREF="HsSyn.html"
>HsSyn</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="26"
><A NAME="26"
>Fixities
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:FixityDirection"
><A NAME="t%3AFixityDirection"
></A
></A
><B
>FixityDirection</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:InfixL"
><A NAME="v%3AInfixL"
></A
></A
><B
>InfixL</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InfixR"
><A NAME="v%3AInfixR"
></A
></A
><B
>InfixR</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InfixN"
><A NAME="v%3AInfixN"
></A
></A
><B
>InfixN</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:FixityDirection')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:FixityDirection" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3AFixityDirection"
>FixityDirection</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3AFixityDirection"
>FixityDirection</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Binary.html#t%3ABinary"
>Binary</A
> <A HREF="GHC.html#t%3AFixityDirection"
>FixityDirection</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:defaultFixity"
><A NAME="v%3AdefaultFixity"
></A
></A
><B
>defaultFixity</B
> :: <A HREF="BasicTypes.html#t%3AFixity"
>Fixity</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:maxPrecedence"
><A NAME="v%3AmaxPrecedence"
></A
></A
><B
>maxPrecedence</B
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:negateFixity"
><A NAME="v%3AnegateFixity"
></A
></A
><B
>negateFixity</B
> :: <A HREF="BasicTypes.html#t%3AFixity"
>Fixity</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:compareFixity"
><A NAME="v%3AcompareFixity"
></A
></A
><B
>compareFixity</B
> :: <A HREF="BasicTypes.html#t%3AFixity"
>Fixity</A
> -&gt; <A HREF="BasicTypes.html#t%3AFixity"
>Fixity</A
> -&gt; (<A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>, <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="27"
><A NAME="27"
>Source locations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:SrcLoc"
><A NAME="t%3ASrcLoc"
></A
></A
><B
>SrcLoc</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Represents a single point within a file
</TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:SrcLoc')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:SrcLoc" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprDefnLoc"
><A NAME="v%3ApprDefnLoc"
></A
></A
><B
>pprDefnLoc</B
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="doc"
>Pretty prints information about the <TT
><A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TT
> in the style <A HREF="defined at ---.html"
>defined at ...</A
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkSrcLoc"
><A NAME="v%3AmkSrcLoc"
></A
></A
><B
>mkSrcLoc</B
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isGoodSrcLoc"
><A NAME="v%3AisGoodSrcLoc"
></A
></A
><B
>isGoodSrcLoc</B
> :: <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
><A HREF="Good.html"
>Good</A
> <TT
><A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
></TT
>s have precise information about their location
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:noSrcLoc"
><A NAME="v%3AnoSrcLoc"
></A
></A
><B
>noSrcLoc</B
> :: <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcLocFile"
><A NAME="v%3AsrcLocFile"
></A
></A
><B
>srcLocFile</B
> :: <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="FastString.html#t%3AFastString"
>FastString</A
></TD
></TR
><TR
><TD CLASS="doc"
>Gives the filename of the <TT
><A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
></TT
> if it is available, otherwise returns a dummy value
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcLocLine"
><A NAME="v%3AsrcLocLine"
></A
></A
><B
>srcLocLine</B
> :: <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Raises an error when used on a <A HREF="bad.html"
>bad</A
> <TT
><A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcLocCol"
><A NAME="v%3AsrcLocCol"
></A
></A
><B
>srcLocCol</B
> :: <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Raises an error when used on a <A HREF="bad.html"
>bad</A
> <TT
><A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:SrcSpan"
><A NAME="t%3ASrcSpan"
></A
></A
><B
>SrcSpan</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>A SrcSpan delimits a portion of a text file.  It could be represented
by a pair of (line,column) coordinates, but in fact we optimise
slightly by using more compact representations for single-line and
zero-length spans, both of which are quite common.
</P
><P
>The end position is defined to be the column <EM
>after</EM
> the end of the
span.  That is, a span of (1,1)-(1,2) is one character long, and a
span of (1,1)-(1,1) is zero characters long.
</P
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:SrcSpan')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:SrcSpan" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkSrcSpan"
><A NAME="v%3AmkSrcSpan"
></A
></A
><B
>mkSrcSpan</B
> :: <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="doc"
>Create a <TT
><A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TT
> between two points in a file
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcLocSpan"
><A NAME="v%3AsrcLocSpan"
></A
></A
><B
>srcLocSpan</B
> :: <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="doc"
>Create a <TT
><A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TT
> corresponding to a single point
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isGoodSrcSpan"
><A NAME="v%3AisGoodSrcSpan"
></A
></A
><B
>isGoodSrcSpan</B
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Test if a <TT
><A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TT
> is <A HREF="good.html"
>good</A
>, i.e. has precise location information
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:noSrcSpan"
><A NAME="v%3AnoSrcSpan"
></A
></A
><B
>noSrcSpan</B
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcSpanStart"
><A NAME="v%3AsrcSpanStart"
></A
></A
><B
>srcSpanStart</B
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="doc"
>Returns the location at the start of the <TT
><A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TT
> or a <A HREF="bad.html"
>bad</A
> <TT
><A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TT
> if that is unavailable
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcSpanEnd"
><A NAME="v%3AsrcSpanEnd"
></A
></A
><B
>srcSpanEnd</B
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="doc"
>Returns the location at the end of the <TT
><A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TT
> or a <A HREF="bad.html"
>bad</A
> <TT
><A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TT
> if that is unavailable
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcSpanFile"
><A NAME="v%3AsrcSpanFile"
></A
></A
><B
>srcSpanFile</B
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="FastString.html#t%3AFastString"
>FastString</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcSpanStartLine"
><A NAME="v%3AsrcSpanStartLine"
></A
></A
><B
>srcSpanStartLine</B
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Raises an error when used on a <A HREF="bad.html"
>bad</A
> <TT
><A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcSpanEndLine"
><A NAME="v%3AsrcSpanEndLine"
></A
></A
><B
>srcSpanEndLine</B
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Raises an error when used on a <A HREF="bad.html"
>bad</A
> <TT
><A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcSpanStartCol"
><A NAME="v%3AsrcSpanStartCol"
></A
></A
><B
>srcSpanStartCol</B
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Raises an error when used on a <A HREF="bad.html"
>bad</A
> <TT
><A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcSpanEndCol"
><A NAME="v%3AsrcSpanEndCol"
></A
></A
><B
>srcSpanEndCol</B
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Raises an error when used on a <A HREF="bad.html"
>bad</A
> <TT
><A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="28"
><A NAME="28"
>Located
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Located"
><A NAME="t%3ALocated"
></A
></A
><B
>Located</B
> e </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>We attach SrcSpans to lots of things, so let's have a datatype for it.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:L"
><A NAME="v%3AL"
></A
></A
><B
>L</B
> <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> e</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Located')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Located" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="GHC.html#t%3ALocated"
>Located</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> e =&gt; <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> (<A HREF="GHC.html#t%3ALocated"
>Located</A
> e)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section3"
><A NAME="29"
><A NAME="29"
>Constructing Located
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:noLoc"
><A NAME="v%3AnoLoc"
></A
></A
><B
>noLoc</B
> ::  e -&gt; <A HREF="GHC.html#t%3ALocated"
>Located</A
> e</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkGeneralLocated"
><A NAME="v%3AmkGeneralLocated"
></A
></A
><B
>mkGeneralLocated</B
> ::  <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; e -&gt; <A HREF="GHC.html#t%3ALocated"
>Located</A
> e</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section3"
><A NAME="30"
><A NAME="30"
>Deconstructing Located
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getLoc"
><A NAME="v%3AgetLoc"
></A
></A
><B
>getLoc</B
> ::  <A HREF="GHC.html#t%3ALocated"
>Located</A
> e -&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unLoc"
><A NAME="v%3AunLoc"
></A
></A
><B
>unLoc</B
> ::  <A HREF="GHC.html#t%3ALocated"
>Located</A
> e -&gt; e</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section3"
><A NAME="31"
><A NAME="31"
>Combining and comparing Located values
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:eqLocated"
><A NAME="v%3AeqLocated"
></A
></A
><B
>eqLocated</B
> :: <A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> a =&gt; <A HREF="GHC.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="GHC.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Tests whether the two located things are equal
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:cmpLocated"
><A NAME="v%3AcmpLocated"
></A
></A
><B
>cmpLocated</B
> :: <A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> a =&gt; <A HREF="GHC.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="GHC.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="doc"
>Tests the ordering of the two located things
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:combineLocs"
><A NAME="v%3AcombineLocs"
></A
></A
><B
>combineLocs</B
> ::  <A HREF="GHC.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="GHC.html#t%3ALocated"
>Located</A
> b -&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:addCLoc"
><A NAME="v%3AaddCLoc"
></A
></A
><B
>addCLoc</B
> ::  <A HREF="GHC.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="GHC.html#t%3ALocated"
>Located</A
> b -&gt; c -&gt; <A HREF="GHC.html#t%3ALocated"
>Located</A
> c</TD
></TR
><TR
><TD CLASS="doc"
>Combine locations from two <TT
><A HREF="GHC.html#t%3ALocated"
>Located</A
></TT
> things and add them to a third thing
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:leftmost_smallest"
><A NAME="v%3Aleftmost_smallest"
></A
></A
><B
>leftmost_smallest</B
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:leftmost_largest"
><A NAME="v%3Aleftmost_largest"
></A
></A
><B
>leftmost_largest</B
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="doc"
>Alternative strategies for ordering <TT
><A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TT
>s
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:rightmost"
><A NAME="v%3Arightmost"
></A
></A
><B
>rightmost</B
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:spans"
><A NAME="v%3Aspans"
></A
></A
><B
>spans</B
> :: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>, <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>) -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Determines whether a span encloses a given line and column index
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isSubspanOf"
><A NAME="v%3AisSubspanOf"
></A
></A
><B
>isSubspanOf</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TD
><TD CLASS="rdoc"
>The span that may be enclosed by the other
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="GHC.html#t%3ASrcSpan"
>SrcSpan</A
></TD
><TD CLASS="rdoc"
>The span it may be enclosed by
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
>Determines whether a span is enclosed by another one
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="32"
><A NAME="32"
>Exceptions
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:GhcException"
><A NAME="t%3AGhcException"
></A
></A
><B
>GhcException</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:PhaseFailed"
><A NAME="v%3APhaseFailed"
></A
></A
><B
>PhaseFailed</B
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> <A HREF="../base/System-Exit.html#t%3AExitCode"
>ExitCode</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Interrupted"
><A NAME="v%3AInterrupted"
></A
></A
><B
>Interrupted</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:UsageError"
><A NAME="v%3AUsageError"
></A
></A
><B
>UsageError</B
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:CmdLineError"
><A NAME="v%3ACmdLineError"
></A
></A
><B
>CmdLineError</B
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Panic"
><A NAME="v%3APanic"
></A
></A
><B
>Panic</B
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InstallationError"
><A NAME="v%3AInstallationError"
></A
></A
><B
>InstallationError</B
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ProgramError"
><A NAME="v%3AProgramError"
></A
></A
><B
>ProgramError</B
> <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:GhcException')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:GhcException" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="GHC.html#t%3AGhcException"
>GhcException</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="GHC.html#t%3AGhcException"
>GhcException</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Typeable.html#t%3ATypeable"
>Typeable</A
> <A HREF="GHC.html#t%3AGhcException"
>GhcException</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Control-Exception-Base.html#t%3AException"
>Exception</A
> <A HREF="GHC.html#t%3AGhcException"
>GhcException</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:showGhcException"
><A NAME="v%3AshowGhcException"
></A
></A
><B
>showGhcException</B
> :: <A HREF="GHC.html#t%3AGhcException"
>GhcException</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="33"
><A NAME="33"
>Token stream manipulations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Token"
><A NAME="t%3AToken"
></A
></A
><B
>Token</B
>  </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getTokenStream"
><A NAME="v%3AgetTokenStream"
></A
></A
><B
>getTokenStream</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModule"
>Module</A
> -&gt; m [<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="GHC.html#t%3AToken"
>Token</A
>]</TD
></TR
><TR
><TD CLASS="doc"
><P
>Return module source as token stream, including comments.
</P
><P
>The module must be in the module graph and its source must be available.
 Throws a <TT
><A HREF="HscTypes.html#t%3ASourceError"
>SourceError</A
></TT
> on parse error.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getRichTokenStream"
><A NAME="v%3AgetRichTokenStream"
></A
></A
><B
>getRichTokenStream</B
> :: <A HREF="GHC.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="GHC.html#t%3AModule"
>Module</A
> -&gt; m [(<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="GHC.html#t%3AToken"
>Token</A
>, <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>)]</TD
></TR
><TR
><TD CLASS="doc"
>Give even more information on the source than <TT
><A HREF="GHC.html#v%3AgetTokenStream"
>getTokenStream</A
></TT
>
 This function allows reconstructing the source completely with
 <TT
><A HREF="GHC.html#v%3AshowRichTokenStream"
>showRichTokenStream</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:showRichTokenStream"
><A NAME="v%3AshowRichTokenStream"
></A
></A
><B
>showRichTokenStream</B
> :: [(<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="GHC.html#t%3AToken"
>Token</A
>, <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>)] -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="doc"
>Take a rich token stream such as produced from <TT
><A HREF="GHC.html#v%3AgetRichTokenStream"
>getRichTokenStream</A
></TT
> and
 return source code almost identical to the original code (except for
 insignificant whitespace.)
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:addSourceToTokens"
><A NAME="v%3AaddSourceToTokens"
></A
></A
><B
>addSourceToTokens</B
> :: <A HREF="GHC.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="StringBuffer.html#t%3AStringBuffer"
>StringBuffer</A
> -&gt; [<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="GHC.html#t%3AToken"
>Token</A
>] -&gt; [(<A HREF="GHC.html#t%3ALocated"
>Located</A
> <A HREF="GHC.html#t%3AToken"
>Token</A
>, <A HREF="../base/Data-Char.html#t%3AString"
>String</A
>)]</TD
></TR
><TR
><TD CLASS="doc"
>Given a source location and a StringBuffer corresponding to this
 location, return a rich token stream with the source associated to the
 tokens.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="34"
><A NAME="34"
>Miscellaneous
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:cyclicModuleErr"
><A NAME="v%3AcyclicModuleErr"
></A
></A
><B
>cyclicModuleErr</B
> :: [<A HREF="GHC.html#t%3AModSummary"
>ModSummary</A
>] -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.4.2</TD
></TR
></TABLE
></BODY
></HTML
>