<!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.12.3: The GHC API</TD ><TD CLASS="topbut" ><A HREF="src/GHC.html" >Source code</A ></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" >Inspecting the module structure of the program </A ></DT ><DT ><A HREF="#8" >Inspecting modules </A ></DT ><DT ><A HREF="#9" >Querying the environment </A ></DT ><DT ><A HREF="#10" >Printing </A ></DT ><DT ><A HREF="#11" >Interactive evaluation </A ></DT ><DT ><A HREF="#12" >Abstract syntax elements </A ></DT ><DD ><DL ><DT ><A HREF="#13" >Packages </A ></DT ><DT ><A HREF="#14" >Modules </A ></DT ><DT ><A HREF="#15" >Names </A ></DT ><DT ><A HREF="#16" >Identifiers </A ></DT ><DT ><A HREF="#17" >Type constructors </A ></DT ><DT ><A HREF="#18" >Type variables </A ></DT ><DT ><A HREF="#19" >Data constructors </A ></DT ><DT ><A HREF="#20" >Classes </A ></DT ><DT ><A HREF="#21" >Instances </A ></DT ><DT ><A HREF="#22" >Types and Kinds </A ></DT ><DT ><A HREF="#23" >Entities </A ></DT ><DT ><A HREF="#24" >Syntax </A ></DT ><DT ><A HREF="#25" >Fixities </A ></DT ><DT ><A HREF="#26" >Source locations </A ></DT ><DT ><A HREF="#27" >Located </A ></DT ><DD ><DL ><DT ><A HREF="#28" >Constructing Located </A ></DT ><DT ><A HREF="#29" >Deconstructing Located </A ></DT ><DT ><A HREF="#30" >Combining and comparing Located values </A ></DT ></DL ></DD ></DL ></DD ><DT ><A HREF="#31" >Exceptions </A ></DT ><DT ><A HREF="#32" >Token stream manipulations </A ></DT ><DT ><A HREF="#33" >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) => <A HREF="GHC.html#t%3ADynFlags" >DynFlags</A > -> m a -> 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) => <A HREF="GHC.html#t%3ADynFlags" >DynFlags</A > -> m a -> 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-4.2.0.2/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) => <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 > -> m <A HREF="../ghc-prim-0.2.0.0/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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A > -> <A HREF="GHC.html#t%3AGhc" >Ghc</A > a -> <A HREF="../base-4.2.0.2/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-4.2.0.2/Control-Monad.html#t%3AFunctor" >Functor</A > m, <A HREF="MonadUtils.html#t%3AMonadIO" >MonadIO</A > m) => <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A > -> <A HREF="GHC.html#t%3AGhcT" >GhcT</A > m a -> 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 => <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A > -> m <A HREF="../ghc-prim-0.2.0.0/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="Panic.html#t%3AException" >Exception</A > e) => m a -> (e -> m a) -> 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 => m a -> (a -> m b) -> (a -> m c) -> 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 => m a -> m b -> 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 => m <A HREF="../ghc-prim-0.2.0.0/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 => 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 => m <A HREF="../base-4.2.0.2/Data-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 => <A HREF="HscTypes.html#t%3ASourceError" >SourceError</A > -> m <A HREF="../ghc-prim-0.2.0.0/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 => m <A HREF="../ghc-prim-0.2.0.0/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 => (<A HREF="HscTypes.html#t%3ASourceError" >SourceError</A > -> m a) -> m a -> m a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AdefaultCallbacks" >defaultCallbacks</A > :: <A HREF="GHC.html#t%3AGhcApiCallbacks" >GhcApiCallbacks</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AGhcApiCallbacks" >GhcApiCallbacks</A > = <A HREF="#v%3AGhcApiCallbacks" >GhcApiCallbacks</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3AreportModuleCompilationResult" >reportModuleCompilationResult</A > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AModSummary" >ModSummary</A > -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="HscTypes.html#t%3ASourceError" >SourceError</A > -> m <A HREF="../ghc-prim-0.2.0.0/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%3AneedsTemplateHaskell" >needsTemplateHaskell</A > :: <A HREF="GHC.html#t%3AModuleGraph" >ModuleGraph</A > -> <A HREF="../base-4.2.0.2/Data-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%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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AextCoreName" >extCoreName</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Averbosity" >verbosity</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AoptLevel" >optLevel</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AsimplPhases" >simplPhases</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AmaxSimplIterations" >maxSimplIterations</A > :: <A HREF="../base-4.2.0.2/Data-Int.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 > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AruleCheck" >ruleCheck</A > :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AspecConstrThreshold" >specConstrThreshold</A > :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AspecConstrCount" >specConstrCount</A > :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AliberateCaseThreshold" >liberateCaseThreshold</A > :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AtargetPlatform" >targetPlatform</A > :: <A HREF="Platform.html#t%3APlatform" >Platform</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Astolen_x86_regs" >stolen_x86_regs</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AcmdlineHcIncludes" >cmdlineHcIncludes</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AimportPaths" >importPaths</A > :: [<A HREF="../base-4.2.0.2/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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3ActxtStkDepth" >ctxtStkDepth</A > :: <A HREF="../base-4.2.0.2/Data-Int.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%3Aways" >ways</A > :: [<A HREF="StaticFlags.html#t%3AWay" >Way</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AbuildTag" >buildTag</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3ArtsBuildTag" >rtsBuildTag</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AsplitInfo" >splitInfo</A > :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >)</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AobjectDir" >objectDir</A > :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AhiDir" >hiDir</A > :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AstubDir" >stubDir</A > :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AobjectSuf" >objectSuf</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AhcSuf" >hcSuf</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AhiSuf" >hiSuf</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AoutputFile" >outputFile</A > :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AoutputHi" >outputHi</A > :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AdumpPrefixForce" >dumpPrefixForce</A > :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AincludePaths" >includePaths</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AlibraryPaths" >libraryPaths</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AframeworkPaths" >frameworkPaths</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AcmdlineFrameworks" >cmdlineFrameworks</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AtmpDir" >tmpDir</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AghcUsagePath" >ghcUsagePath</A > :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AghciUsagePath" >ghciUsagePath</A > :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AhpcDir" >hpcDir</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Aopt_L" >opt_L</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Aopt_P" >opt_P</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Aopt_F" >opt_F</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Aopt_c" >opt_c</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Aopt_m" >opt_m</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Aopt_a" >opt_a</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Aopt_l" >opt_l</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Aopt_windres" >opt_windres</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Apgm_L" >pgm_L</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Apgm_P" >pgm_P</A > :: (<A HREF="../base-4.2.0.2/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-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Apgm_c" >pgm_c</A > :: (<A HREF="../base-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Apgm_sysman" >pgm_sysman</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Apgm_windres" >pgm_windres</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AdepMakefile" >depMakefile</A > :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AdepIncludePkgDeps" >depIncludePkgDeps</A > :: <A HREF="../base-4.2.0.2/Data-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-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AextraPkgConfs" >extraPkgConfs</A > :: [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AtopDir" >topDir</A > :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AsystemPackageConfig" >systemPackageConfig</A > :: <A HREF="../base-4.2.0.2/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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</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%3AfilesToClean" >filesToClean</A > :: <A HREF="IOEnv.html#t%3AIORef" >IORef</A > [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AdirsToClean" >dirsToClean</A > :: <A HREF="IOEnv.html#t%3AIORef" >IORef</A > (<A HREF="FiniteMap.html#t%3AFiniteMap" >FiniteMap</A > <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A > <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</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 > -> <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="Outputable.html#t%3APprStyle" >PprStyle</A > -> <A HREF="ErrUtils.html#t%3AMessage" >Message</A > -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AhaddockOptions" >haddockOptions</A > :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/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_asm_expanded" >Opt_D_dump_asm_expanded</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_WarnDodgyExports" >Opt_WarnDodgyExports</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_WarnLazyUnliftedBindings" >Opt_WarnLazyUnliftedBindings</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AOpt_WarnUnusedDoBind" >Opt_WarnUnusedDoBind</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AOpt_WarnWrongDoBind" >Opt_WarnWrongDoBind</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_MonoLocalBinds" >Opt_MonoLocalBinds</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_GHCForeignImportPrim" >Opt_GHCForeignImportPrim</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_NPlusKPatterns" >Opt_NPlusKPatterns</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_DeriveFunctor" >Opt_DeriveFunctor</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AOpt_DeriveTraversable" >Opt_DeriveTraversable</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AOpt_DeriveFoldable" >Opt_DeriveFoldable</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_DoRec" >Opt_DoRec</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_TupleSections" >Opt_TupleSections</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_ExplicitForAll" >Opt_ExplicitForAll</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_AutoSccsOnAllToplevs" >Opt_AutoSccsOnAllToplevs</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AOpt_AutoSccsOnExportedToplevs" >Opt_AutoSccsOnExportedToplevs</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AOpt_AutoSccsOnIndividualCafs" >Opt_AutoSccsOnIndividualCafs</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_EagerBlackHoling" >Opt_EagerBlackHoling</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_RtsOptsEnabled" >Opt_RtsOptsEnabled</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_EmitExternalCore" >Opt_EmitExternalCore</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AOpt_SharedImplib" >Opt_SharedImplib</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AOpt_BuildingCabalPackage" >Opt_BuildingCabalPackage</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AOpt_RunCPS" >Opt_RunCPS</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_TryNewCodeGen" >Opt_TryNewCodeGen</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 > -> <A HREF="GHC.html#t%3ADynFlags" >DynFlags</A > -> <A HREF="../base-4.2.0.2/Data-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-4.2.0.2/Control-Monad.html#t%3AMonad" >Monad</A > m => <A HREF="GHC.html#t%3ADynFlags" >DynFlags</A > -> [<A HREF="GHC.html#t%3ALocated" >Located</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >] -> m (<A HREF="GHC.html#t%3ADynFlags" >DynFlags</A >, [<A HREF="GHC.html#t%3ALocated" >Located</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >], [<A HREF="GHC.html#t%3ALocated" >Located</A > <A HREF="../base-4.2.0.2/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 => 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 => <A HREF="GHC.html#t%3ADynFlags" >DynFlags</A > -> 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-4.2.0.2/Data-Char.html#t%3AString" >String</A >] -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > ([<A HREF="GHC.html#t%3ALocated" >Located</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >], [<A HREF="GHC.html#t%3ALocated" >Located</A > <A HREF="../base-4.2.0.2/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="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AtargetContents" >targetContents</A > :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (<A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A >, <A HREF="../old-time-1.0.0.5/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-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A > (<A HREF="../base-4.2.0.2/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 => [<A HREF="GHC.html#t%3ATarget" >Target</A >] -> m <A HREF="../ghc-prim-0.2.0.0/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 => 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 => <A HREF="GHC.html#t%3ATarget" >Target</A > -> m <A HREF="../ghc-prim-0.2.0.0/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 => <A HREF="GHC.html#t%3ATargetId" >TargetId</A > -> m <A HREF="../ghc-prim-0.2.0.0/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 => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="GHC.html#t%3APhase" >Phase</A > -> 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 => [<A HREF="RdrName.html#t%3AGlobalRdrElt" >GlobalRdrElt</A >] -> m <A HREF="../ghc-prim-0.2.0.0/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 => [<A HREF="RdrName.html#t%3AGlobalRdrElt" >GlobalRdrElt</A >] -> m <A HREF="../ghc-prim-0.2.0.0/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 => [<A HREF="GHC.html#t%3AId" >Id</A >] -> m <A HREF="../ghc-prim-0.2.0.0/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 => [<A HREF="GHC.html#t%3AId" >Id</A >] -> m <A HREF="../ghc-prim-0.2.0.0/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 => [<A HREF="GHC.html#t%3AModuleName" >ModuleName</A >] -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> 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 => <A HREF="GHC.html#t%3ALoadHowMuch" >LoadHowMuch</A > -> 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 => <A HREF="GHC.html#t%3AWarnErrLogger" >WarnErrLogger</A > -> <A HREF="GHC.html#t%3ALoadHowMuch" >LoadHowMuch</A > -> 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%3Asucceeded" >succeeded</A > :: <A HREF="GHC.html#t%3ASuccessFlag" >SuccessFlag</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Afailed" >failed</A > :: <A HREF="GHC.html#t%3ASuccessFlag" >SuccessFlag</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></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 => <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="HscTypes.html#t%3ASourceError" >SourceError</A > -> m <A HREF="../ghc-prim-0.2.0.0/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 => m <A HREF="../ghc-prim-0.2.0.0/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 => <A HREF="GHC.html#t%3AModSummary" >ModSummary</A > -> 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 => <A HREF="GHC.html#t%3AParsedModule" >ParsedModule</A > -> 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 => <A HREF="GHC.html#t%3ATypecheckedModule" >TypecheckedModule</A > -> 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) => mod -> 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 > = <A HREF="#v%3AParsedModule" >ParsedModule</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3Apm_mod_summary" >pm_mod_summary</A > :: <A HREF="GHC.html#t%3AModSummary" >ModSummary</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Apm_parsed_source" >pm_parsed_source</A > :: <A HREF="GHC.html#t%3AParsedSource" >ParsedSource</A ></TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ATypecheckedModule" >TypecheckedModule</A > = <A HREF="#v%3ATypecheckedModule" >TypecheckedModule</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3Atm_parsed_module" >tm_parsed_module</A > :: <A HREF="GHC.html#t%3AParsedModule" >ParsedModule</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Atm_renamed_source" >tm_renamed_source</A > :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="GHC.html#t%3ARenamedSource" >RenamedSource</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Atm_typechecked_source" >tm_typechecked_source</A > :: <A HREF="GHC.html#t%3ATypecheckedSource" >TypecheckedSource</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Atm_checked_module_info" >tm_checked_module_info</A > :: <A HREF="GHC.html#t%3AModuleInfo" >ModuleInfo</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Atm_internals_" >tm_internals_</A > :: (<A HREF="TcRnTypes.html#t%3ATcGblEnv" >TcGblEnv</A >, <A HREF="HscTypes.html#t%3AModDetails" >ModDetails</A >)</TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ADesugaredModule" >DesugaredModule</A > = <A HREF="#v%3ADesugaredModule" >DesugaredModule</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3Adm_typechecked_module" >dm_typechecked_module</A > :: <A HREF="GHC.html#t%3ATypecheckedModule" >TypecheckedModule</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Adm_core_module" >dm_core_module</A > :: <A HREF="HscTypes.html#t%3AModGuts" >ModGuts</A ></TD ></TR ></TABLE >}</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-4.2.0.2/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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="HsDoc.html#t%3ALHsDocString" >LHsDocString</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 => <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 -> <A HREF="../base-4.2.0.2/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 -> <A HREF="GHC.html#t%3ATypecheckedSource" >TypecheckedSource</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmoduleInfo" >moduleInfo</A > :: m -> <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 -> <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 => m -> <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 => <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A > -> 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 => <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A > -> 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 => <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="HscTypes.html#t%3ACoreModule" >CoreModule</A > -> m <A HREF="../ghc-prim-0.2.0.0/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 => <A HREF="GHC.html#t%3AModuleName" >ModuleName</A > -> m <A HREF="GHC.html#t%3AModSummary" >ModSummary</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-1.0.0.5/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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../old-time-1.0.0.5/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="HsImpExp.html#t%3AImportDecl" >ImportDecl</A > <A HREF="GHC.html#t%3ARdrName" >RdrName</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="HsImpExp.html#t%3AImportDecl" >ImportDecl</A > <A HREF="GHC.html#t%3ARdrName" >RdrName</A >)]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Ams_hspp_file" >ms_hspp_file</A > :: <A HREF="../base-4.2.0.2/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-4.2.0.2/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 > -> <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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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 => 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 => <A HREF="GHC.html#t%3AModuleName" >ModuleName</A > -> m <A HREF="../base-4.2.0.2/Data-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="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> [<A HREF="GHC.html#t%3AModSummary" >ModSummary</A >] -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="GHC.html#t%3AModuleName" >ModuleName</A > -> [<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 => <A HREF="GHC.html#t%3AModule" >Module</A > -> m (<A HREF="../base-4.2.0.2/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 > -> [<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 > -> <A HREF="../base-4.2.0.2/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 > -> [<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 > -> [<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 > -> <A HREF="GHC.html#t%3AName" >Name</A > -> <A HREF="../base-4.2.0.2/Data-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 => <A HREF="GHC.html#t%3AModuleInfo" >ModuleInfo</A > -> <A HREF="GHC.html#t%3AName" >Name</A > -> m (<A HREF="../base-4.2.0.2/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 => <A HREF="GHC.html#t%3AName" >Name</A > -> m (<A HREF="../base-4.2.0.2/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%3AfindGlobalAnns" >findGlobalAnns</A > :: (<A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m, <A HREF="../base-4.2.0.2/Data-Typeable.html#t%3ATypeable" >Typeable</A > a) => ([<A HREF="../base-4.2.0.2/Data-Word.html#t%3AWord8" >Word8</A >] -> a) -> <A HREF="Annotations.html#t%3AAnnTarget" >AnnTarget</A > <A HREF="GHC.html#t%3AName" >Name</A > -> m [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 => <A HREF="GHC.html#t%3AModuleInfo" >ModuleInfo</A > -> m (<A HREF="../base-4.2.0.2/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 => <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> 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 => 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 => 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 => <A HREF="GHC.html#t%3AModuleName" >ModuleName</A > -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="FastString.html#t%3AFastString" >FastString</A > -> m <A HREF="GHC.html#t%3AModule" >Module</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AlookupModule" >lookupModule</A > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AModuleName" >ModuleName</A > -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="FastString.html#t%3AFastString" >FastString</A > -> 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 => [<A HREF="GHC.html#t%3AModule" >Module</A >] -> [<A HREF="GHC.html#t%3AModule" >Module</A >] -> m <A HREF="../ghc-prim-0.2.0.0/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 => 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 => 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 => 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 => 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 => <A HREF="GHC.html#t%3AModule" >Module</A > -> m <A HREF="../base-4.2.0.2/Data-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 => <A HREF="GHC.html#t%3AName" >Name</A > -> m (<A HREF="../base-4.2.0.2/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 => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> 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 => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> 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 => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> 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-4.2.0.2/Control-Exception-Base.html#t%3ASomeException" >SomeException</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ARunBreak" >RunBreak</A > <A HREF="../base-4.2.0.2/Control-Concurrent.html#t%3AThreadId" >ThreadId</A > [<A HREF="GHC.html#t%3AName" >Name</A >] (<A HREF="../base-4.2.0.2/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 => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="GHC.html#t%3ASingleStep" >SingleStep</A > -> 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 => (<A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="GHC.html#t%3ASingleStep" >SingleStep</A > -> 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 => <A HREF="GHC.html#t%3AHistory" >History</A > -> 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 > -> <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 => 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 => m <A HREF="../base-4.2.0.2/Data-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 => m <A HREF="../base-4.2.0.2/Data-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 => m ([<A HREF="GHC.html#t%3AName" >Name</A >], <A HREF="../base-4.2.0.2/Data-Int.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 => m ([<A HREF="GHC.html#t%3AName" >Name</A >], <A HREF="../base-4.2.0.2/Data-Int.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 => <A HREF="GHC.html#t%3AModSummary" >ModSummary</A > -> m <A HREF="../base-4.2.0.2/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 => <A HREF="GHC.html#t%3AModSummary" >ModSummary</A > -> m <A HREF="../base-4.2.0.2/Data-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 => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> 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 => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> m <A HREF="../base-4.2.0.2/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 => <A HREF="GHC.html#t%3AName" >Name</A > -> m (<A HREF="../base-4.2.0.2/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 => <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="GHC.html#t%3AId" >Id</A > -> 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 => <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="GHC.html#t%3AType" >Type</A > -> a -> 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 > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="GHC.html#t%3AId" >Id</A > -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > (<A HREF="../base-4.2.0.2/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 > -> <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="../array-0.3.0.1/Data-Array.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="../array-0.3.0.1/Data-Array.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="../base-4.2.0.2/Data-Int.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 > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > (<A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/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 > -> <A HREF="GHC.html#t%3AModuleName" >ModuleName</A > -> <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 > -> <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 > -> <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 > -> <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-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <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 > -> <A HREF="../base-4.2.0.2/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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <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 => a -> <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 > -> <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 -> <A HREF="OccName.html#t%3AOccName" >OccName</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgetName" >getName</A > :: a -> <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 > -> <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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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="Var.html#t%3AVar" >Var</A > -> <A HREF="../base-4.2.0.2/Data-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="Var.html#t%3AVar" >Var</A > -> <A HREF="../base-4.2.0.2/Data-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="Var.html#t%3AVar" >Var</A > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> (<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 > -> [<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 > -> [<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 > -> <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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> ([<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 > -> <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 > -> <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 > -> ([<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 > -> <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 > -> <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 > -> [<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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> [<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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> [<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 > -> [<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 > -> ([<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 => [<A HREF="Class.html#t%3AFunDep" >FunDep</A > a] -> <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 > -> <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 > -> <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 > -> <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 > -> ([<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 > -> <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 > -> <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 => a -> [<A HREF="GHC.html#t%3AType" >Type</A >] -> <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 > -> <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="../base-4.2.0.2/Data-Int.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 > -> <A HREF="BasicTypes.html#t%3AFixity" >Fixity</A > -> (<A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >, <A HREF="../base-4.2.0.2/Data-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 > -> <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 > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <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 > -> <A HREF="../base-4.2.0.2/Data-Int.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 > -> <A HREF="../base-4.2.0.2/Data-Int.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 > -> <A HREF="GHC.html#t%3ASrcLoc" >SrcLoc</A > -> <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 > -> <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 > -> <A HREF="../base-4.2.0.2/Data-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 > -> <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 > -> <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 > -> <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 > -> <A HREF="../base-4.2.0.2/Data-Int.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 > -> <A HREF="../base-4.2.0.2/Data-Int.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 > -> <A HREF="../base-4.2.0.2/Data-Int.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 > -> <A HREF="../base-4.2.0.2/Data-Int.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 -> <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-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> e -> <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 -> <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 -> e</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AeqLocated" >eqLocated</A > :: <A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > a => <A HREF="GHC.html#t%3ALocated" >Located</A > a -> <A HREF="GHC.html#t%3ALocated" >Located</A > a -> <A HREF="../base-4.2.0.2/Data-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-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > a => <A HREF="GHC.html#t%3ALocated" >Located</A > a -> <A HREF="GHC.html#t%3ALocated" >Located</A > a -> <A HREF="../base-4.2.0.2/Data-Ord.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 -> <A HREF="GHC.html#t%3ALocated" >Located</A > b -> <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 -> <A HREF="GHC.html#t%3ALocated" >Located</A > b -> c -> <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 > -> <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="../base-4.2.0.2/Data-Ord.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 > -> <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="../base-4.2.0.2/Data-Ord.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 > -> <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="../base-4.2.0.2/Data-Ord.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 > -> (<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >) -> <A HREF="../base-4.2.0.2/Data-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 > -> <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="../base-4.2.0.2/Data-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-4.2.0.2/Data-Char.html#t%3AString" >String</A > <A HREF="../base-4.2.0.2/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%3ASignal" >Signal</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AUsageError" >UsageError</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ACmdLineError" >CmdLineError</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3APanic" >Panic</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AInstallationError" >InstallationError</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AProgramError" >ProgramError</A > <A HREF="../base-4.2.0.2/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 > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/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 => <A HREF="GHC.html#t%3AModule" >Module</A > -> 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 => <A HREF="GHC.html#t%3AModule" >Module</A > -> m [(<A HREF="GHC.html#t%3ALocated" >Located</A > <A HREF="GHC.html#t%3AToken" >Token</A >, <A HREF="../base-4.2.0.2/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-4.2.0.2/Data-Char.html#t%3AString" >String</A >)] -> <A HREF="../base-4.2.0.2/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 > -> <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> [<A HREF="GHC.html#t%3ALocated" >Located</A > <A HREF="GHC.html#t%3AToken" >Token</A >] -> [(<A HREF="GHC.html#t%3ALocated" >Located</A > <A HREF="GHC.html#t%3AToken" >Token</A >, <A HREF="../base-4.2.0.2/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 >] -> <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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><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) => <A HREF="GHC.html#t%3ADynFlags" >DynFlags</A > -> m a -> m a</TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#defaultErrorHandler" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><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) => <A HREF="GHC.html#t%3ADynFlags" >DynFlags</A > -> m a -> m a</TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#defaultCleanupHandler" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Ghc" ><A NAME="t%3AGhc" ></A ></A ><B >Ghc</B > a </TD ><TD CLASS="declbut" ><A HREF="src/HscTypes.html#Ghc" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/Control-Monad.html#t%3AMonad" >Monad</A > <A HREF="GHC.html#t%3AGhc" >Ghc</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:GhcT" ><A NAME="t%3AGhcT" ></A ></A ><B >GhcT</B > m a </TD ><TD CLASS="declbut" ><A HREF="src/HscTypes.html#GhcT" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/Control-Monad.html#t%3AMonad" >Monad</A > m => <A HREF="../base-4.2.0.2/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-4.2.0.2/Control-Monad.html#t%3AFunctor" >Functor</A > m => <A HREF="../base-4.2.0.2/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 => <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 => <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-4.2.0.2/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) => <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 => <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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >class</SPAN > (<A HREF="../base-4.2.0.2/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) => <A NAME="t:GhcMonad" ><A NAME="t%3AGhcMonad" ></A ></A ><B >GhcMonad</B > m <SPAN CLASS="keyword" >where</SPAN ></TD ><TD CLASS="declbut" ><A HREF="src/HscTypes.html#GhcMonad" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getSession" ><A NAME="v%3AgetSession" ></A ></A ><B >getSession</B > :: m <A HREF="HscTypes.html#t%3AHscEnv" >HscEnv</A ></TD ><TD CLASS="declbut" ><A HREF="src/HscTypes.html#getSession" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:setSession" ><A NAME="v%3AsetSession" ></A ></A ><B >setSession</B > :: <A HREF="HscTypes.html#t%3AHscEnv" >HscEnv</A > -> m <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/HscTypes.html#setSession" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/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) => <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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:runGhc" ><A NAME="v%3ArunGhc" ></A ></A ><B >runGhc</B ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#runGhc" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="arg" >:: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/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" >-> <A HREF="GHC.html#t%3AGhc" >Ghc</A > a</TD ><TD CLASS="rdoc" >The action to perform. </TD ></TR ><TR ><TD CLASS="arg" >-> <A HREF="../base-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:runGhcT" ><A NAME="v%3ArunGhcT" ></A ></A ><B >runGhcT</B ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#runGhcT" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/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" >=> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/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" >-> <A HREF="GHC.html#t%3AGhcT" >GhcT</A > m a</TD ><TD CLASS="rdoc" >The action to perform. </TD ></TR ><TR ><TD CLASS="arg" >-> 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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:initGhcMonad" ><A NAME="v%3AinitGhcMonad" ></A ></A ><B >initGhcMonad</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A > -> m <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#initGhcMonad" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:gcatch" ><A NAME="v%3Agcatch" ></A ></A ><B >gcatch</B > :: (<A HREF="Exception.html#t%3AExceptionMonad" >ExceptionMonad</A > m, <A HREF="Panic.html#t%3AException" >Exception</A > e) => m a -> (e -> m a) -> m a</TD ><TD CLASS="declbut" ><A HREF="src/Exception.html#gcatch" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Generalised version of <TT ><A HREF="../base-4.2.0.2/Control-Exception-Base.html#v%3Acatch" >catch</A ></TT >, allowing an arbitrary exception handling monad instead of just <TT ><A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:gbracket" ><A NAME="v%3Agbracket" ></A ></A ><B >gbracket</B > :: <A HREF="Exception.html#t%3AExceptionMonad" >ExceptionMonad</A > m => m a -> (a -> m b) -> (a -> m c) -> m c</TD ><TD CLASS="declbut" ><A HREF="src/Exception.html#gbracket" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Generalised version of <TT ><A HREF="../base-4.2.0.2/Control-Exception-Base.html#v%3Abracket" >bracket</A ></TT >, allowing an arbitrary exception handling monad instead of just <TT ><A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:gfinally" ><A NAME="v%3Agfinally" ></A ></A ><B >gfinally</B > :: <A HREF="Exception.html#t%3AExceptionMonad" >ExceptionMonad</A > m => m a -> m b -> m a</TD ><TD CLASS="declbut" ><A HREF="src/Exception.html#gfinally" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Generalised version of <TT ><A HREF="../base-4.2.0.2/Control-Exception-Base.html#v%3Afinally" >finally</A ></TT >, allowing an arbitrary exception handling monad instead of just <TT ><A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:clearWarnings" ><A NAME="v%3AclearWarnings" ></A ></A ><B >clearWarnings</B > :: <A HREF="HscTypes.html#t%3AWarnLogMonad" >WarnLogMonad</A > m => m <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/HscTypes.html#clearWarnings" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getWarnings" ><A NAME="v%3AgetWarnings" ></A ></A ><B >getWarnings</B > :: <A HREF="HscTypes.html#t%3AWarnLogMonad" >WarnLogMonad</A > m => m <A HREF="ErrUtils.html#t%3AWarningMessages" >WarningMessages</A ></TD ><TD CLASS="declbut" ><A HREF="src/HscTypes.html#getWarnings" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:hasWarnings" ><A NAME="v%3AhasWarnings" ></A ></A ><B >hasWarnings</B > :: <A HREF="HscTypes.html#t%3AWarnLogMonad" >WarnLogMonad</A > m => m <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/HscTypes.html#hasWarnings" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Returns true if there were any warnings. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:printExceptionAndWarnings" ><A NAME="v%3AprintExceptionAndWarnings" ></A ></A ><B >printExceptionAndWarnings</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="HscTypes.html#t%3ASourceError" >SourceError</A > -> m <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#printExceptionAndWarnings" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:printWarnings" ><A NAME="v%3AprintWarnings" ></A ></A ><B >printWarnings</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => m <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#printWarnings" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:handleSourceError" ><A NAME="v%3AhandleSourceError" ></A ></A ><B >handleSourceError</B ></TD ><TD CLASS="declbut" ><A HREF="src/HscTypes.html#handleSourceError" >Source</A ></TD ></TR ></TABLE ></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" >=> <A HREF="HscTypes.html#t%3ASourceError" >SourceError</A > -> m a</TD ><TD CLASS="rdoc" >exception handler </TD ></TR ><TR ><TD CLASS="arg" >-> m a</TD ><TD CLASS="rdoc" >action to perform </TD ></TR ><TR ><TD CLASS="arg" >-> 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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:defaultCallbacks" ><A NAME="v%3AdefaultCallbacks" ></A ></A ><B >defaultCallbacks</B > :: <A HREF="GHC.html#t%3AGhcApiCallbacks" >GhcApiCallbacks</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#defaultCallbacks" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:GhcApiCallbacks" ><A NAME="t%3AGhcApiCallbacks" ></A ></A ><B >GhcApiCallbacks</B > </TD ><TD CLASS="declbut" ><A HREF="src/HscTypes.html#GhcApiCallbacks" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >These functions are called in various places of the GHC API. </P ><P >API clients can override any of these callbacks to change GHC's default behaviour. </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:GhcApiCallbacks" ><A NAME="v%3AGhcApiCallbacks" ></A ></A ><B >GhcApiCallbacks</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:reportModuleCompilationResult" ><A NAME="v%3AreportModuleCompilationResult" ></A ></A ><B >reportModuleCompilationResult</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AModSummary" >ModSummary</A > -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="HscTypes.html#t%3ASourceError" >SourceError</A > -> m <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="rdoc" ><P >Called by load after the compilating of each module. </P ><P >The default implementation simply prints all warnings and errors to <TT >stderr</TT >. Don't forget to call <TT ><A HREF="GHC.html#v%3AclearWarnings" >clearWarnings</A ></TT > when implementing your own call. </P ><P >The first argument is the module that was compiled. </P ><P >The second argument is <TT >Nothing</TT > if no errors occured, but there may have been warnings. If it is <TT >Just err</TT > at least one error has occured. If <TT ><A HREF="HscTypes.html#v%3AsrcErrorMessages" >srcErrorMessages</A ></TT > is empty, compilation failed due to <TT >-Werror</TT >. </P ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:needsTemplateHaskell" ><A NAME="v%3AneedsTemplateHaskell" ></A ></A ><B >needsTemplateHaskell</B > :: <A HREF="GHC.html#t%3AModuleGraph" >ModuleGraph</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#needsTemplateHaskell" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P >Determines whether a set of modules requires Template Haskell. </P ><P >Note that if the session's <TT ><A HREF="GHC.html#t%3ADynFlags" >DynFlags</A ></TT > enabled Template Haskell when <TT ><A HREF="GHC.html#v%3Adepanal" >depanal</A ></TT > was called, then each module in the returned module graph will have Template Haskell enabled whether it is actually needed or not. </P ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:DynFlags" ><A NAME="t%3ADynFlags" ></A ></A ><B >DynFlags</B > </TD ><TD CLASS="declbut" ><A HREF="src/DynFlags.html#DynFlags" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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="../base-4.2.0.2/Data-Int.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="../base-4.2.0.2/Data-Int.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="../base-4.2.0.2/Data-Int.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="../base-4.2.0.2/Data-Int.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 > -> <A HREF="../base-4.2.0.2/Data-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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/Data-Int.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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/Data-Int.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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="rdoc" >Threshold for LiberateCase </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:targetPlatform" ><A NAME="v%3AtargetPlatform" ></A ></A ><B >targetPlatform</B > :: <A HREF="Platform.html#t%3APlatform" >Platform</A ></TD ><TD CLASS="rdoc" >The platform we're compiling for. Used by the NCG. </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="../base-4.2.0.2/Data-Int.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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/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="../base-4.2.0.2/Data-Int.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:ways" ><A NAME="v%3Aways" ></A ></A ><B >ways</B > :: [<A HREF="StaticFlags.html#t%3AWay" >Way</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-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" >The global "way" (e.g. "p" for prof) </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:rtsBuildTag" ><A NAME="v%3ArtsBuildTag" ></A ></A ><B >rtsBuildTag</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" >The RTS "way" </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:splitInfo" ><A NAME="v%3AsplitInfo" ></A ></A ><B >splitInfo</B > :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >)</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:objectDir" ><A NAME="v%3AobjectDir" ></A ></A ><B >objectDir</B > :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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="../base-4.2.0.2/Data-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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</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:filesToClean" ><A NAME="v%3AfilesToClean" ></A ></A ><B >filesToClean</B > :: <A HREF="IOEnv.html#t%3AIORef" >IORef</A > [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:dirsToClean" ><A NAME="v%3AdirsToClean" ></A ></A ><B >dirsToClean</B > :: <A HREF="IOEnv.html#t%3AIORef" >IORef</A > (<A HREF="FiniteMap.html#t%3AFiniteMap" >FiniteMap</A > <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A > <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</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 > -> <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="Outputable.html#t%3APprStyle" >PprStyle</A > -> <A HREF="ErrUtils.html#t%3AMessage" >Message</A > -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="../ghc-prim-0.2.0.0/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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:DynFlag" ><A NAME="t%3ADynFlag" ></A ></A ><B >DynFlag</B > </TD ><TD CLASS="declbut" ><A HREF="src/DynFlags.html#DynFlag" >Source</A ></TD ></TR ></TABLE ></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_asm_expanded" ><A NAME="v%3AOpt_D_dump_asm_expanded" ></A ></A ><B >Opt_D_dump_asm_expanded</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_WarnDodgyExports" ><A NAME="v%3AOpt_WarnDodgyExports" ></A ></A ><B >Opt_WarnDodgyExports</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_WarnLazyUnliftedBindings" ><A NAME="v%3AOpt_WarnLazyUnliftedBindings" ></A ></A ><B >Opt_WarnLazyUnliftedBindings</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Opt_WarnUnusedDoBind" ><A NAME="v%3AOpt_WarnUnusedDoBind" ></A ></A ><B >Opt_WarnUnusedDoBind</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Opt_WarnWrongDoBind" ><A NAME="v%3AOpt_WarnWrongDoBind" ></A ></A ><B >Opt_WarnWrongDoBind</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_MonoLocalBinds" ><A NAME="v%3AOpt_MonoLocalBinds" ></A ></A ><B >Opt_MonoLocalBinds</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_GHCForeignImportPrim" ><A NAME="v%3AOpt_GHCForeignImportPrim" ></A ></A ><B >Opt_GHCForeignImportPrim</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_NPlusKPatterns" ><A NAME="v%3AOpt_NPlusKPatterns" ></A ></A ><B >Opt_NPlusKPatterns</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_DeriveFunctor" ><A NAME="v%3AOpt_DeriveFunctor" ></A ></A ><B >Opt_DeriveFunctor</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Opt_DeriveTraversable" ><A NAME="v%3AOpt_DeriveTraversable" ></A ></A ><B >Opt_DeriveTraversable</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Opt_DeriveFoldable" ><A NAME="v%3AOpt_DeriveFoldable" ></A ></A ><B >Opt_DeriveFoldable</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_DoRec" ><A NAME="v%3AOpt_DoRec" ></A ></A ><B >Opt_DoRec</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_TupleSections" ><A NAME="v%3AOpt_TupleSections" ></A ></A ><B >Opt_TupleSections</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_ExplicitForAll" ><A NAME="v%3AOpt_ExplicitForAll" ></A ></A ><B >Opt_ExplicitForAll</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_AutoSccsOnAllToplevs" ><A NAME="v%3AOpt_AutoSccsOnAllToplevs" ></A ></A ><B >Opt_AutoSccsOnAllToplevs</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Opt_AutoSccsOnExportedToplevs" ><A NAME="v%3AOpt_AutoSccsOnExportedToplevs" ></A ></A ><B >Opt_AutoSccsOnExportedToplevs</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Opt_AutoSccsOnIndividualCafs" ><A NAME="v%3AOpt_AutoSccsOnIndividualCafs" ></A ></A ><B >Opt_AutoSccsOnIndividualCafs</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_EagerBlackHoling" ><A NAME="v%3AOpt_EagerBlackHoling" ></A ></A ><B >Opt_EagerBlackHoling</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_RtsOptsEnabled" ><A NAME="v%3AOpt_RtsOptsEnabled" ></A ></A ><B >Opt_RtsOptsEnabled</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_EmitExternalCore" ><A NAME="v%3AOpt_EmitExternalCore" ></A ></A ><B >Opt_EmitExternalCore</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Opt_SharedImplib" ><A NAME="v%3AOpt_SharedImplib" ></A ></A ><B >Opt_SharedImplib</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Opt_BuildingCabalPackage" ><A NAME="v%3AOpt_BuildingCabalPackage" ></A ></A ><B >Opt_BuildingCabalPackage</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Opt_RunCPS" ><A NAME="v%3AOpt_RunCPS" ></A ></A ><B >Opt_RunCPS</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_TryNewCodeGen" ><A NAME="v%3AOpt_TryNewCodeGen" ></A ></A ><B >Opt_TryNewCodeGen</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-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="GHC.html#t%3ADynFlag" >DynFlag</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Severity" ><A NAME="t%3ASeverity" ></A ></A ><B >Severity</B > </TD ><TD CLASS="declbut" ><A HREF="src/ErrUtils.html#Severity" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:HscTarget" ><A NAME="t%3AHscTarget" ></A ></A ><B >HscTarget</B > </TD ><TD CLASS="declbut" ><A HREF="src/DynFlags.html#HscTarget" >Source</A ></TD ></TR ></TABLE ></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 >Whenever you change the target, also make sure to set <TT ><A HREF="GHC.html#v%3AghcLink" >ghcLink</A ></TT > to something sensible. </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. You can run the desugarer manually using GHC.desugarModule. </LI ><LI > If a program uses Template Haskell the typechecker may try to run code from an imported module. This will fail if no code has been generated for this module. You can use GHC.needsTemplateHaskell to detect whether this might be the case and choose to either switch to a different target or avoid typechecking such modules. (The latter may preferable for security reasons.) </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" >Generate C code. </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:HscAsm" ><A NAME="v%3AHscAsm" ></A ></A ><B >HscAsm</B ></TD ><TD CLASS="rdoc" >Generate assembly using the native code generator. </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:HscJava" ><A NAME="v%3AHscJava" ></A ></A ><B >HscJava</B ></TD ><TD CLASS="rdoc" >Generate Java bytecode. </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:HscInterpreted" ><A NAME="v%3AHscInterpreted" ></A ></A ><B >HscInterpreted</B ></TD ><TD CLASS="rdoc" >Generate bytecode. (Requires <TT ><A HREF="GHC.html#v%3ALinkInMemory" >LinkInMemory</A ></TT >) </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:HscNothing" ><A NAME="v%3AHscNothing" ></A ></A ><B >HscNothing</B ></TD ><TD CLASS="rdoc" >Don't generate any code. See notes above. </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-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="GHC.html#t%3AHscTarget" >HscTarget</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:dopt" ><A NAME="v%3Adopt" ></A ></A ><B >dopt</B > :: <A HREF="GHC.html#t%3ADynFlag" >DynFlag</A > -> <A HREF="GHC.html#t%3ADynFlags" >DynFlags</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/DynFlags.html#dopt" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:GhcMode" ><A NAME="t%3AGhcMode" ></A ></A ><B >GhcMode</B > </TD ><TD CLASS="declbut" ><A HREF="src/DynFlags.html#GhcMode" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:GhcLink" ><A NAME="t%3AGhcLink" ></A ></A ><B >GhcLink</B > </TD ><TD CLASS="declbut" ><A HREF="src/DynFlags.html#GhcLink" >Source</A ></TD ></TR ></TABLE ></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 (works for both bytecode and object code). </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-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="GHC.html#t%3AGhcLink" >GhcLink</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:defaultObjectTarget" ><A NAME="v%3AdefaultObjectTarget" ></A ></A ><B >defaultObjectTarget</B > :: <A HREF="GHC.html#t%3AHscTarget" >HscTarget</A ></TD ><TD CLASS="declbut" ><A HREF="src/DynFlags.html#defaultObjectTarget" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:parseDynamicFlags" ><A NAME="v%3AparseDynamicFlags" ></A ></A ><B >parseDynamicFlags</B ></TD ><TD CLASS="declbut" ><A HREF="src/DynFlags.html#parseDynamicFlags" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="arg" >:: <A HREF="../base-4.2.0.2/Control-Monad.html#t%3AMonad" >Monad</A > m</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" >=> <A HREF="GHC.html#t%3ADynFlags" >DynFlags</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" >-> [<A HREF="GHC.html#t%3ALocated" >Located</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" >-> m (<A HREF="GHC.html#t%3ADynFlags" >DynFlags</A >, [<A HREF="GHC.html#t%3ALocated" >Located</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >], [<A HREF="GHC.html#t%3ALocated" >Located</A > <A HREF="../base-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getSessionDynFlags" ><A NAME="v%3AgetSessionDynFlags" ></A ></A ><B >getSessionDynFlags</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => m <A HREF="GHC.html#t%3ADynFlags" >DynFlags</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#getSessionDynFlags" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Grabs the DynFlags from the Session </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:setSessionDynFlags" ><A NAME="v%3AsetSessionDynFlags" ></A ></A ><B >setSessionDynFlags</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3ADynFlags" >DynFlags</A > -> m [<A HREF="GHC.html#t%3APackageId" >PackageId</A >]</TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#setSessionDynFlags" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:parseStaticFlags" ><A NAME="v%3AparseStaticFlags" ></A ></A ><B >parseStaticFlags</B > :: [<A HREF="GHC.html#t%3ALocated" >Located</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >] -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > ([<A HREF="GHC.html#t%3ALocated" >Located</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >], [<A HREF="GHC.html#t%3ALocated" >Located</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >])</TD ><TD CLASS="declbut" ><A HREF="src/StaticFlagParser.html#parseStaticFlags" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Target" ><A NAME="t%3ATarget" ></A ></A ><B >Target</B > </TD ><TD CLASS="declbut" ><A HREF="src/HscTypes.html#Target" >Source</A ></TD ></TR ></TABLE ></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="../base-4.2.0.2/Data-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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (<A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A >, <A HREF="../old-time-1.0.0.5/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:TargetId" ><A NAME="t%3ATargetId" ></A ></A ><B >TargetId</B > </TD ><TD CLASS="declbut" ><A HREF="src/HscTypes.html#TargetId" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A > (<A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="GHC.html#t%3APhase" >Phase</A >)</TD ><TD CLASS="rdoc" >A filename: preprocess & 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-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Phase" ><A NAME="t%3APhase" ></A ></A ><B >Phase</B > </TD ><TD CLASS="declbut" ><A HREF="src/DriverPhases.html#Phase" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="GHC.html#t%3APhase" >Phase</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:setTargets" ><A NAME="v%3AsetTargets" ></A ></A ><B >setTargets</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => [<A HREF="GHC.html#t%3ATarget" >Target</A >] -> m <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#setTargets" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getTargets" ><A NAME="v%3AgetTargets" ></A ></A ><B >getTargets</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => m [<A HREF="GHC.html#t%3ATarget" >Target</A >]</TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#getTargets" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Returns the current set of targets </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:addTarget" ><A NAME="v%3AaddTarget" ></A ></A ><B >addTarget</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3ATarget" >Target</A > -> m <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#addTarget" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Add another target. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:removeTarget" ><A NAME="v%3AremoveTarget" ></A ></A ><B >removeTarget</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3ATargetId" >TargetId</A > -> m <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#removeTarget" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Remove a target </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:guessTarget" ><A NAME="v%3AguessTarget" ></A ></A ><B >guessTarget</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="GHC.html#t%3APhase" >Phase</A > -> m <A HREF="GHC.html#t%3ATarget" >Target</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#guessTarget" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:extendGlobalRdrScope" ><A NAME="v%3AextendGlobalRdrScope" ></A ></A ><B >extendGlobalRdrScope</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => [<A HREF="RdrName.html#t%3AGlobalRdrElt" >GlobalRdrElt</A >] -> m <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#extendGlobalRdrScope" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:setGlobalRdrScope" ><A NAME="v%3AsetGlobalRdrScope" ></A ></A ><B >setGlobalRdrScope</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => [<A HREF="RdrName.html#t%3AGlobalRdrElt" >GlobalRdrElt</A >] -> m <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#setGlobalRdrScope" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:extendGlobalTypeScope" ><A NAME="v%3AextendGlobalTypeScope" ></A ></A ><B >extendGlobalTypeScope</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => [<A HREF="GHC.html#t%3AId" >Id</A >] -> m <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#extendGlobalTypeScope" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:setGlobalTypeScope" ><A NAME="v%3AsetGlobalTypeScope" ></A ></A ><B >setGlobalTypeScope</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => [<A HREF="GHC.html#t%3AId" >Id</A >] -> m <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#setGlobalTypeScope" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:depanal" ><A NAME="v%3Adepanal" ></A ></A ><B >depanal</B ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#depanal" >Source</A ></TD ></TR ></TABLE ></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" >=> [<A HREF="GHC.html#t%3AModuleName" >ModuleName</A >]</TD ><TD CLASS="rdoc" >excluded modules </TD ></TR ><TR ><TD CLASS="arg" >-> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="rdoc" >allow duplicate roots </TD ></TR ><TR ><TD CLASS="arg" >-> m <A HREF="GHC.html#t%3AModuleGraph" >ModuleGraph</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="ndoc" COLSPAN="2" ><P >Perform a dependency analysis starting from the current targets and update the session with the new module graph. </P ><P >Dependency analysis entails parsing the <TT >import</TT > directives and may therefore require running certain preprocessors. </P ><P >Note that each <TT ><A HREF="GHC.html#t%3AModSummary" >ModSummary</A ></TT > in the module graph caches its <TT ><A HREF="GHC.html#t%3ADynFlags" >DynFlags</A ></TT >. These <TT ><A HREF="GHC.html#t%3ADynFlags" >DynFlags</A ></TT > are determined by the <EM >current</EM > session <TT ><A HREF="GHC.html#t%3ADynFlags" >DynFlags</A ></TT > and the <TT >OPTIONS</TT > and <TT >LANGUAGE</TT > pragmas of the parsed module. Thus if you want to changes to the <TT ><A HREF="GHC.html#t%3ADynFlags" >DynFlags</A ></TT > to take effect you need to call this function again. </P ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:load" ><A NAME="v%3Aload" ></A ></A ><B >load</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3ALoadHowMuch" >LoadHowMuch</A > -> m <A HREF="GHC.html#t%3ASuccessFlag" >SuccessFlag</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#load" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P >Try to load the program. See <TT ><A HREF="GHC.html#t%3ALoadHowMuch" >LoadHowMuch</A ></TT > for the different modes. </P ><P >This function implements the core of GHC's <TT >--make</TT > mode. It preprocesses, compiles and loads the specified modules, avoiding re-compilation wherever possible. Depending on the target (see <TT ><A HREF="GHC.html#v%3AhscTarget" >hscTarget</A ></TT >) compilating and loading may result in files being created on disk. </P ><P >Calls the <TT ><A HREF="GHC.html#v%3AreportModuleCompilationResult" >reportModuleCompilationResult</A ></TT > callback after each compiling each module, whether successful or not. </P ><P >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). All other errors are reported using the callback. </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:loadWithLogger" ><A NAME="v%3AloadWithLogger" ></A ></A ><B >loadWithLogger</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AWarnErrLogger" >WarnErrLogger</A > -> <A HREF="GHC.html#t%3ALoadHowMuch" >LoadHowMuch</A > -> m <A HREF="GHC.html#t%3ASuccessFlag" >SuccessFlag</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#loadWithLogger" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:LoadHowMuch" ><A NAME="t%3ALoadHowMuch" ></A ></A ><B >LoadHowMuch</B > </TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#LoadHowMuch" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >Describes which modules of the module graph need to be loaded. </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:LoadAllTargets" ><A NAME="v%3ALoadAllTargets" ></A ></A ><B >LoadAllTargets</B ></TD ><TD CLASS="rdoc" >Load all targets and its dependencies. </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" >Load only the given module and its dependencies. </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" >Load only the dependencies of the given module, but not the module itself. </TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:SuccessFlag" ><A NAME="t%3ASuccessFlag" ></A ></A ><B >SuccessFlag</B > </TD ><TD CLASS="declbut" ><A HREF="src/BasicTypes.html#SuccessFlag" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:succeeded" ><A NAME="v%3Asucceeded" ></A ></A ><B >succeeded</B > :: <A HREF="GHC.html#t%3ASuccessFlag" >SuccessFlag</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/BasicTypes.html#succeeded" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:failed" ><A NAME="v%3Afailed" ></A ></A ><B >failed</B > :: <A HREF="GHC.html#t%3ASuccessFlag" >SuccessFlag</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/BasicTypes.html#failed" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:defaultWarnErrLogger" ><A NAME="v%3AdefaultWarnErrLogger" ></A ></A ><B >defaultWarnErrLogger</B > :: <A HREF="GHC.html#t%3AWarnErrLogger" >WarnErrLogger</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#defaultWarnErrLogger" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><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 => <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="HscTypes.html#t%3ASourceError" >SourceError</A > -> m <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#WarnErrLogger" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:workingDirectoryChanged" ><A NAME="v%3AworkingDirectoryChanged" ></A ></A ><B >workingDirectoryChanged</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => m <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#workingDirectoryChanged" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P >Inform GHC that the working directory has changed. GHC will flush its cache of module locations, since it may no longer be valid. </P ><P >Note: Before changing the working directory make sure all threads running in the same session have stopped. If you change the working directory, you should also unload the current program (set targets to empty, followed by load). </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:parseModule" ><A NAME="v%3AparseModule" ></A ></A ><B >parseModule</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AModSummary" >ModSummary</A > -> m <A HREF="GHC.html#t%3AParsedModule" >ParsedModule</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#parseModule" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:typecheckModule" ><A NAME="v%3AtypecheckModule" ></A ></A ><B >typecheckModule</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AParsedModule" >ParsedModule</A > -> m <A HREF="GHC.html#t%3ATypecheckedModule" >TypecheckedModule</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#typecheckModule" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:desugarModule" ><A NAME="v%3AdesugarModule" ></A ></A ><B >desugarModule</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3ATypecheckedModule" >TypecheckedModule</A > -> m <A HREF="GHC.html#t%3ADesugaredModule" >DesugaredModule</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#desugarModule" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Desugar a typechecked module. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><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) => mod -> m mod</TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#loadModule" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P >Load a module. Input doesn't need to be desugared. </P ><P >A module must be loaded before dependent modules can be typechecked. This always includes generating a <TT ><A HREF="HscTypes.html#t%3AModIface" >ModIface</A ></TT > and, depending on the <TT ><A HREF="GHC.html#v%3AhscTarget" >hscTarget</A ></TT >, may also include code generation. </P ><P >This function will always cause recompilation and will always overwrite previous compilation results (potentially files on disk). </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:ParsedModule" ><A NAME="t%3AParsedModule" ></A ></A ><B >ParsedModule</B > </TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#ParsedModule" >Source</A ></TD ></TR ></TABLE ></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" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:ParsedModule" ><A NAME="v%3AParsedModule" ></A ></A ><B >ParsedModule</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:pm_mod_summary" ><A NAME="v%3Apm_mod_summary" ></A ></A ><B >pm_mod_summary</B > :: <A HREF="GHC.html#t%3AModSummary" >ModSummary</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:pm_parsed_source" ><A NAME="v%3Apm_parsed_source" ></A ></A ><B >pm_parsed_source</B > :: <A HREF="GHC.html#t%3AParsedSource" >ParsedSource</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: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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:TypecheckedModule" ><A NAME="t%3ATypecheckedModule" ></A ></A ><B >TypecheckedModule</B > </TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#TypecheckedModule" >Source</A ></TD ></TR ></TABLE ></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" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:TypecheckedModule" ><A NAME="v%3ATypecheckedModule" ></A ></A ><B >TypecheckedModule</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:tm_parsed_module" ><A NAME="v%3Atm_parsed_module" ></A ></A ><B >tm_parsed_module</B > :: <A HREF="GHC.html#t%3AParsedModule" >ParsedModule</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:tm_renamed_source" ><A NAME="v%3Atm_renamed_source" ></A ></A ><B >tm_renamed_source</B > :: <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="GHC.html#t%3ARenamedSource" >RenamedSource</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:tm_typechecked_source" ><A NAME="v%3Atm_typechecked_source" ></A ></A ><B >tm_typechecked_source</B > :: <A HREF="GHC.html#t%3ATypecheckedSource" >TypecheckedSource</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:tm_checked_module_info" ><A NAME="v%3Atm_checked_module_info" ></A ></A ><B >tm_checked_module_info</B > :: <A HREF="GHC.html#t%3AModuleInfo" >ModuleInfo</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:tm_internals_" ><A NAME="v%3Atm_internals_" ></A ></A ><B >tm_internals_</B > :: (<A HREF="TcRnTypes.html#t%3ATcGblEnv" >TcGblEnv</A >, <A HREF="HscTypes.html#t%3AModDetails" >ModDetails</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: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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:DesugaredModule" ><A NAME="t%3ADesugaredModule" ></A ></A ><B >DesugaredModule</B > </TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#DesugaredModule" >Source</A ></TD ></TR ></TABLE ></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" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:DesugaredModule" ><A NAME="v%3ADesugaredModule" ></A ></A ><B >DesugaredModule</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:dm_typechecked_module" ><A NAME="v%3Adm_typechecked_module" ></A ></A ><B >dm_typechecked_module</B > :: <A HREF="GHC.html#t%3ATypecheckedModule" >TypecheckedModule</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:dm_core_module" ><A NAME="v%3Adm_core_module" ></A ></A ><B >dm_core_module</B > :: <A HREF="HscTypes.html#t%3AModGuts" >ModGuts</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: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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><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 ><TD CLASS="declbut" ><A HREF="src/GHC.html#TypecheckedSource" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><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 ><TD CLASS="declbut" ><A HREF="src/GHC.html#ParsedSource" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><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-4.2.0.2/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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="HsDoc.html#t%3ALHsDocString" >LHsDocString</A >)</TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#RenamedSource" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >class</SPAN > <A HREF="GHC.html#t%3AParsedMod" >ParsedMod</A > m => <A NAME="t:TypecheckedMod" ><A NAME="t%3ATypecheckedMod" ></A ></A ><B >TypecheckedMod</B > m <SPAN CLASS="keyword" >where</SPAN ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#TypecheckedMod" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:renamedSource" ><A NAME="v%3ArenamedSource" ></A ></A ><B >renamedSource</B > :: m -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="GHC.html#t%3ARenamedSource" >RenamedSource</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#renamedSource" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:typecheckedSource" ><A NAME="v%3AtypecheckedSource" ></A ></A ><B >typecheckedSource</B > :: m -> <A HREF="GHC.html#t%3ATypecheckedSource" >TypecheckedSource</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#typecheckedSource" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:moduleInfo" ><A NAME="v%3AmoduleInfo" ></A ></A ><B >moduleInfo</B > :: m -> <A HREF="GHC.html#t%3AModuleInfo" >ModuleInfo</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#moduleInfo" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><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 ><TD CLASS="declbut" ><A HREF="src/GHC.html#ParsedMod" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:parsedSource" ><A NAME="v%3AparsedSource" ></A ></A ><B >parsedSource</B > :: m -> <A HREF="GHC.html#t%3AParsedSource" >ParsedSource</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#parsedSource" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:coreModule" ><A NAME="v%3AcoreModule" ></A ></A ><B >coreModule</B > :: DesugaredMod m => m -> <A HREF="HscTypes.html#t%3AModGuts" >ModGuts</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#coreModule" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:compileToCoreModule" ><A NAME="v%3AcompileToCoreModule" ></A ></A ><B >compileToCoreModule</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A > -> m <A HREF="HscTypes.html#t%3ACoreModule" >CoreModule</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#compileToCoreModule" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:compileToCoreSimplified" ><A NAME="v%3AcompileToCoreSimplified" ></A ></A ><B >compileToCoreSimplified</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A > -> m <A HREF="HscTypes.html#t%3ACoreModule" >CoreModule</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#compileToCoreSimplified" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:compileCoreToObj" ><A NAME="v%3AcompileCoreToObj" ></A ></A ><B >compileCoreToObj</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="HscTypes.html#t%3ACoreModule" >CoreModule</A > -> m <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#compileCoreToObj" >Source</A ></TD ></TR ></TABLE ></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. This has only so far been tested with a single self-contained module. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getModSummary" ><A NAME="v%3AgetModSummary" ></A ></A ><B >getModSummary</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AModuleName" >ModuleName</A > -> m <A HREF="GHC.html#t%3AModSummary" >ModSummary</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#getModSummary" >Source</A ></TD ></TR ></TABLE ></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" >Inspecting the module structure of the program </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><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 ><TD CLASS="declbut" ><A HREF="src/HscTypes.html#ModuleGraph" >Source</A ></TD ></TR ></TABLE ></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. Use GHC.topSortModuleGraph and Digraph.flattenSCC to achieve this. </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:ModSummary" ><A NAME="t%3AModSummary" ></A ></A ><B >ModSummary</B > </TD ><TD CLASS="declbut" ><A HREF="src/HscTypes.html#ModSummary" >Source</A ></TD ></TR ></TABLE ></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-1.0.0.5/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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../old-time-1.0.0.5/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="HsImpExp.html#t%3AImportDecl" >ImportDecl</A > <A HREF="GHC.html#t%3ARdrName" >RdrName</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="HsImpExp.html#t%3AImportDecl" >ImportDecl</A > <A HREF="GHC.html#t%3ARdrName" >RdrName</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-4.2.0.2/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-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><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 > -> <A HREF="GHC.html#t%3AModuleName" >ModuleName</A ></TD ><TD CLASS="declbut" ><A HREF="src/HscTypes.html#ms_mod_name" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:ModLocation" ><A NAME="t%3AModLocation" ></A ></A ><B >ModLocation</B > </TD ><TD CLASS="declbut" ><A HREF="src/Module.html#ModLocation" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getModuleGraph" ><A NAME="v%3AgetModuleGraph" ></A ></A ><B >getModuleGraph</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => m <A HREF="GHC.html#t%3AModuleGraph" >ModuleGraph</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#getModuleGraph" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Get the module dependency graph. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isLoaded" ><A NAME="v%3AisLoaded" ></A ></A ><B >isLoaded</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AModuleName" >ModuleName</A > -> m <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#isLoaded" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:topSortModuleGraph" ><A NAME="v%3AtopSortModuleGraph" ></A ></A ><B >topSortModuleGraph</B ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#topSortModuleGraph" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="arg" >:: <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="rdoc" >Drop hi-boot nodes? (see below) </TD ></TR ><TR ><TD CLASS="arg" >-> [<A HREF="GHC.html#t%3AModSummary" >ModSummary</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" >-> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="GHC.html#t%3AModuleName" >ModuleName</A ></TD ><TD CLASS="rdoc" >Root module name. If <TT >Nothing</TT >, use the full graph. </TD ></TR ><TR ><TD CLASS="arg" >-> [<A HREF="Digraph.html#t%3ASCC" >SCC</A > <A HREF="GHC.html#t%3AModSummary" >ModSummary</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="ndoc" COLSPAN="2" ><P >Calculate SCCs of the module graph, possibly dropping the hi-boot nodes The resulting list of strongly-connected-components is in topologically sorted order, starting with the module(s) at the bottom of the dependency graph (ie compile them first) and ending with the ones at the top. </P ><P >Drop hi-boot nodes (first boolean arg)? </P ><UL ><LI > <TT >False</TT >: treat the hi-boot summaries as nodes of the graph, so the graph must be acyclic </LI ><LI > <TT >True</TT >: eliminate the hi-boot nodes, and instead pretend the a source-import of Foo is an import of Foo The resulting graph has no hi-boot nodes, but can be cyclic </LI ></UL ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="8" ><A NAME="8" >Inspecting modules </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:ModuleInfo" ><A NAME="t%3AModuleInfo" ></A ></A ><B >ModuleInfo</B > </TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#ModuleInfo" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getModuleInfo" ><A NAME="v%3AgetModuleInfo" ></A ></A ><B >getModuleInfo</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AModule" >Module</A > -> m (<A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="GHC.html#t%3AModuleInfo" >ModuleInfo</A >)</TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#getModuleInfo" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:modInfoTyThings" ><A NAME="v%3AmodInfoTyThings" ></A ></A ><B >modInfoTyThings</B > :: <A HREF="GHC.html#t%3AModuleInfo" >ModuleInfo</A > -> [<A HREF="GHC.html#t%3ATyThing" >TyThing</A >]</TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#modInfoTyThings" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:modInfoTopLevelScope" ><A NAME="v%3AmodInfoTopLevelScope" ></A ></A ><B >modInfoTopLevelScope</B > :: <A HREF="GHC.html#t%3AModuleInfo" >ModuleInfo</A > -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > [<A HREF="GHC.html#t%3AName" >Name</A >]</TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#modInfoTopLevelScope" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:modInfoExports" ><A NAME="v%3AmodInfoExports" ></A ></A ><B >modInfoExports</B > :: <A HREF="GHC.html#t%3AModuleInfo" >ModuleInfo</A > -> [<A HREF="GHC.html#t%3AName" >Name</A >]</TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#modInfoExports" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:modInfoInstances" ><A NAME="v%3AmodInfoInstances" ></A ></A ><B >modInfoInstances</B > :: <A HREF="GHC.html#t%3AModuleInfo" >ModuleInfo</A > -> [<A HREF="GHC.html#t%3AInstance" >Instance</A >]</TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#modInfoInstances" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:modInfoIsExportedName" ><A NAME="v%3AmodInfoIsExportedName" ></A ></A ><B >modInfoIsExportedName</B > :: <A HREF="GHC.html#t%3AModuleInfo" >ModuleInfo</A > -> <A HREF="GHC.html#t%3AName" >Name</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#modInfoIsExportedName" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:modInfoLookupName" ><A NAME="v%3AmodInfoLookupName" ></A ></A ><B >modInfoLookupName</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AModuleInfo" >ModuleInfo</A > -> <A HREF="GHC.html#t%3AName" >Name</A > -> m (<A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="GHC.html#t%3ATyThing" >TyThing</A >)</TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#modInfoLookupName" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:lookupGlobalName" ><A NAME="v%3AlookupGlobalName" ></A ></A ><B >lookupGlobalName</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AName" >Name</A > -> m (<A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="GHC.html#t%3ATyThing" >TyThing</A >)</TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#lookupGlobalName" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:findGlobalAnns" ><A NAME="v%3AfindGlobalAnns" ></A ></A ><B >findGlobalAnns</B > :: (<A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m, <A HREF="../base-4.2.0.2/Data-Typeable.html#t%3ATypeable" >Typeable</A > a) => ([<A HREF="../base-4.2.0.2/Data-Word.html#t%3AWord8" >Word8</A >] -> a) -> <A HREF="Annotations.html#t%3AAnnTarget" >AnnTarget</A > <A HREF="GHC.html#t%3AName" >Name</A > -> m [a]</TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#findGlobalAnns" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:mkPrintUnqualifiedForModule" ><A NAME="v%3AmkPrintUnqualifiedForModule" ></A ></A ><B >mkPrintUnqualifiedForModule</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AModuleInfo" >ModuleInfo</A > -> m (<A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="GHC.html#t%3APrintUnqualified" >PrintUnqualified</A >)</TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#mkPrintUnqualifiedForModule" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="9" ><A NAME="9" >Querying the environment </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:packageDbModules" ><A NAME="v%3ApackageDbModules" ></A ></A ><B >packageDbModules</B ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#packageDbModules" >Source</A ></TD ></TR ></TABLE ></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" >=> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="rdoc" >Only consider exposed packages. </TD ></TR ><TR ><TD CLASS="arg" >-> 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="10" ><A NAME="10" >Printing </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:PrintUnqualified" ><A NAME="t%3APrintUnqualified" ></A ></A ><B >PrintUnqualified</B > = (QueryQualifyName, QueryQualifyModule)</TD ><TD CLASS="declbut" ><A HREF="src/Outputable.html#PrintUnqualified" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:alwaysQualify" ><A NAME="v%3AalwaysQualify" ></A ></A ><B >alwaysQualify</B > :: <A HREF="GHC.html#t%3APrintUnqualified" >PrintUnqualified</A ></TD ><TD CLASS="declbut" ><A HREF="src/Outputable.html#alwaysQualify" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="11" ><A NAME="11" >Interactive evaluation </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getBindings" ><A NAME="v%3AgetBindings" ></A ></A ><B >getBindings</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => m [<A HREF="GHC.html#t%3ATyThing" >TyThing</A >]</TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#getBindings" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getPrintUnqual" ><A NAME="v%3AgetPrintUnqual" ></A ></A ><B >getPrintUnqual</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => m <A HREF="GHC.html#t%3APrintUnqualified" >PrintUnqualified</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#getPrintUnqual" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:findModule" ><A NAME="v%3AfindModule" ></A ></A ><B >findModule</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AModuleName" >ModuleName</A > -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="FastString.html#t%3AFastString" >FastString</A > -> m <A HREF="GHC.html#t%3AModule" >Module</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#findModule" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:lookupModule" ><A NAME="v%3AlookupModule" ></A ></A ><B >lookupModule</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AModuleName" >ModuleName</A > -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="FastString.html#t%3AFastString" >FastString</A > -> m <A HREF="GHC.html#t%3AModule" >Module</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#lookupModule" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Like <TT ><A HREF="GHC.html#v%3AfindModule" >findModule</A ></TT >, but differs slightly when the module refers to a source file, and the file has not been loaded via <TT ><A HREF="GHC.html#v%3Aload" >load</A ></TT >. In this case, <TT ><A HREF="GHC.html#v%3AfindModule" >findModule</A ></TT > will throw an error (module not loaded), but <TT ><A HREF="GHC.html#v%3AlookupModule" >lookupModule</A ></TT > will check to see whether the module can also be found in a package, and if so, that package <TT ><A HREF="GHC.html#t%3AModule" >Module</A ></TT > will be returned. If not, the usual module-not-found error will be thrown. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:setContext" ><A NAME="v%3AsetContext" ></A ></A ><B >setContext</B ></TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#setContext" >Source</A ></TD ></TR ></TABLE ></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" >=> [<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" >-> [<A HREF="GHC.html#t%3AModule" >Module</A >]</TD ><TD CLASS="rdoc" >exports only of these modules </TD ></TR ><TR ><TD CLASS="arg" >-> m <A HREF="../ghc-prim-0.2.0.0/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getContext" ><A NAME="v%3AgetContext" ></A ></A ><B >getContext</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => m ([<A HREF="GHC.html#t%3AModule" >Module</A >], [<A HREF="GHC.html#t%3AModule" >Module</A >])</TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#getContext" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getNamesInScope" ><A NAME="v%3AgetNamesInScope" ></A ></A ><B >getNamesInScope</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => m [<A HREF="GHC.html#t%3AName" >Name</A >]</TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#getNamesInScope" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getRdrNamesInScope" ><A NAME="v%3AgetRdrNamesInScope" ></A ></A ><B >getRdrNamesInScope</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => m [<A HREF="GHC.html#t%3ARdrName" >RdrName</A >]</TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#getRdrNamesInScope" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getGRE" ><A NAME="v%3AgetGRE" ></A ></A ><B >getGRE</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => m <A HREF="RdrName.html#t%3AGlobalRdrEnv" >GlobalRdrEnv</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#getGRE" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >get the GlobalRdrEnv for a session </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:moduleIsInterpreted" ><A NAME="v%3AmoduleIsInterpreted" ></A ></A ><B >moduleIsInterpreted</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AModule" >Module</A > -> m <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#moduleIsInterpreted" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getInfo" ><A NAME="v%3AgetInfo" ></A ></A ><B >getInfo</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AName" >Name</A > -> m (<A HREF="../base-4.2.0.2/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 ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#getInfo" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:exprType" ><A NAME="v%3AexprType" ></A ></A ><B >exprType</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> m <A HREF="GHC.html#t%3AType" >Type</A ></TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#exprType" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Get the type of an expression </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:typeKind" ><A NAME="v%3AtypeKind" ></A ></A ><B >typeKind</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> m <A HREF="GHC.html#t%3AKind" >Kind</A ></TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#typeKind" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Get the kind of a type </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:parseName" ><A NAME="v%3AparseName" ></A ></A ><B >parseName</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> m [<A HREF="GHC.html#t%3AName" >Name</A >]</TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#parseName" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:RunResult" ><A NAME="t%3ARunResult" ></A ></A ><B >RunResult</B > </TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#RunResult" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/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-4.2.0.2/Control-Concurrent.html#t%3AThreadId" >ThreadId</A > [<A HREF="GHC.html#t%3AName" >Name</A >] (<A HREF="../base-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:runStmt" ><A NAME="v%3ArunStmt" ></A ></A ><B >runStmt</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="GHC.html#t%3ASingleStep" >SingleStep</A > -> m <A HREF="GHC.html#t%3ARunResult" >RunResult</A ></TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#runStmt" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:SingleStep" ><A NAME="t%3ASingleStep" ></A ></A ><B >SingleStep</B > </TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#SingleStep" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:resume" ><A NAME="v%3Aresume" ></A ></A ><B >resume</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => (<A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="GHC.html#t%3ASingleStep" >SingleStep</A > -> m <A HREF="GHC.html#t%3ARunResult" >RunResult</A ></TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#resume" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Resume" ><A NAME="t%3AResume" ></A ></A ><B >Resume</B > </TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#Resume" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:History" ><A NAME="t%3AHistory" ></A ></A ><B >History</B > </TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#History" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getHistorySpan" ><A NAME="v%3AgetHistorySpan" ></A ></A ><B >getHistorySpan</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AHistory" >History</A > -> m <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#getHistorySpan" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getHistoryModule" ><A NAME="v%3AgetHistoryModule" ></A ></A ><B >getHistoryModule</B > :: <A HREF="GHC.html#t%3AHistory" >History</A > -> <A HREF="GHC.html#t%3AModule" >Module</A ></TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#getHistoryModule" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getResumeContext" ><A NAME="v%3AgetResumeContext" ></A ></A ><B >getResumeContext</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => m [<A HREF="GHC.html#t%3AResume" >Resume</A >]</TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#getResumeContext" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:abandon" ><A NAME="v%3Aabandon" ></A ></A ><B >abandon</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => m <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#abandon" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:abandonAll" ><A NAME="v%3AabandonAll" ></A ></A ><B >abandonAll</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => m <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#abandonAll" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:back" ><A NAME="v%3Aback" ></A ></A ><B >back</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => m ([<A HREF="GHC.html#t%3AName" >Name</A >], <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >, <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A >)</TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#back" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:forward" ><A NAME="v%3Aforward" ></A ></A ><B >forward</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => m ([<A HREF="GHC.html#t%3AName" >Name</A >], <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >, <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A >)</TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#forward" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:showModule" ><A NAME="v%3AshowModule" ></A ></A ><B >showModule</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AModSummary" >ModSummary</A > -> m <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#showModule" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isModuleInterpreted" ><A NAME="v%3AisModuleInterpreted" ></A ></A ><B >isModuleInterpreted</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AModSummary" >ModSummary</A > -> m <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#isModuleInterpreted" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:compileExpr" ><A NAME="v%3AcompileExpr" ></A ></A ><B >compileExpr</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> m <A HREF="GHC.html#t%3AHValue" >HValue</A ></TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#compileExpr" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:HValue" ><A NAME="t%3AHValue" ></A ></A ><B >HValue</B > </TD ><TD CLASS="declbut" ><A HREF="src/ByteCodeLink.html#HValue" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:dynCompileExpr" ><A NAME="v%3AdynCompileExpr" ></A ></A ><B >dynCompileExpr</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> m <A HREF="../base-4.2.0.2/Data-Dynamic.html#t%3ADynamic" >Dynamic</A ></TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#dynCompileExpr" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:lookupName" ><A NAME="v%3AlookupName" ></A ></A ><B >lookupName</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AName" >Name</A > -> m (<A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="GHC.html#t%3ATyThing" >TyThing</A >)</TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#lookupName" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:obtainTermFromId" ><A NAME="v%3AobtainTermFromId" ></A ></A ><B >obtainTermFromId</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="GHC.html#t%3AId" >Id</A > -> m <A HREF="RtClosureInspect.html#t%3ATerm" >Term</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#obtainTermFromId" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:obtainTermFromVal" ><A NAME="v%3AobtainTermFromVal" ></A ></A ><B >obtainTermFromVal</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="GHC.html#t%3AType" >Type</A > -> a -> m <A HREF="RtClosureInspect.html#t%3ATerm" >Term</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#obtainTermFromVal" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:reconstructType" ><A NAME="v%3AreconstructType" ></A ></A ><B >reconstructType</B > :: <A HREF="HscTypes.html#t%3AHscEnv" >HscEnv</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="GHC.html#t%3AId" >Id</A > -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > (<A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="GHC.html#t%3AType" >Type</A >)</TD ><TD CLASS="declbut" ><A HREF="src/InteractiveEval.html#reconstructType" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:modInfoModBreaks" ><A NAME="v%3AmodInfoModBreaks" ></A ></A ><B >modInfoModBreaks</B > :: <A HREF="GHC.html#t%3AModuleInfo" >ModuleInfo</A > -> <A HREF="GHC.html#t%3AModBreaks" >ModBreaks</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#modInfoModBreaks" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:ModBreaks" ><A NAME="t%3AModBreaks" ></A ></A ><B >ModBreaks</B > </TD ><TD CLASS="declbut" ><A HREF="src/HscTypes.html#ModBreaks" >Source</A ></TD ></TR ></TABLE ></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="../array-0.3.0.1/Data-Array.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="../array-0.3.0.1/Data-Array.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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:BreakIndex" ><A NAME="t%3ABreakIndex" ></A ></A ><B >BreakIndex</B > = <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="declbut" ><A HREF="src/HscTypes.html#BreakIndex" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Breakpoint index </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:BreakInfo" ><A NAME="t%3ABreakInfo" ></A ></A ><B >BreakInfo</B > </TD ><TD CLASS="declbut" ><A HREF="src/ByteCodeInstr.html#BreakInfo" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:BreakArray" ><A NAME="t%3ABreakArray" ></A ></A ><B >BreakArray</B > </TD ><TD CLASS="declbut" ><A HREF="src/BreakArray.html#BreakArray" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:setBreakOn" ><A NAME="v%3AsetBreakOn" ></A ></A ><B >setBreakOn</B > :: <A HREF="GHC.html#t%3ABreakArray" >BreakArray</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/BreakArray.html#setBreakOn" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:setBreakOff" ><A NAME="v%3AsetBreakOff" ></A ></A ><B >setBreakOff</B > :: <A HREF="GHC.html#t%3ABreakArray" >BreakArray</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/BreakArray.html#setBreakOff" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getBreak" ><A NAME="v%3AgetBreak" ></A ></A ><B >getBreak</B > :: <A HREF="GHC.html#t%3ABreakArray" >BreakArray</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > (<A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../base-4.2.0.2/Data-Word.html#t%3AWord" >Word</A >)</TD ><TD CLASS="declbut" ><A HREF="src/BreakArray.html#getBreak" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="12" ><A NAME="12" >Abstract syntax elements </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section2" ><A NAME="13" ><A NAME="13" >Packages </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:PackageId" ><A NAME="t%3APackageId" ></A ></A ><B >PackageId</B > </TD ><TD CLASS="declbut" ><A HREF="src/Module.html#PackageId" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="GHC.html#t%3APackageId" >PackageId</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/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="14" ><A NAME="14" >Modules </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Module" ><A NAME="t%3AModule" ></A ></A ><B >Module</B > </TD ><TD CLASS="declbut" ><A HREF="src/Module.html#Module" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="GHC.html#t%3AModule" >Module</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:mkModule" ><A NAME="v%3AmkModule" ></A ></A ><B >mkModule</B > :: <A HREF="GHC.html#t%3APackageId" >PackageId</A > -> <A HREF="GHC.html#t%3AModuleName" >ModuleName</A > -> <A HREF="GHC.html#t%3AModule" >Module</A ></TD ><TD CLASS="declbut" ><A HREF="src/Module.html#mkModule" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:pprModule" ><A NAME="v%3ApprModule" ></A ></A ><B >pprModule</B > :: <A HREF="GHC.html#t%3AModule" >Module</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ><TD CLASS="declbut" ><A HREF="src/Module.html#pprModule" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:moduleName" ><A NAME="v%3AmoduleName" ></A ></A ><B >moduleName</B > :: <A HREF="GHC.html#t%3AModule" >Module</A > -> <A HREF="GHC.html#t%3AModuleName" >ModuleName</A ></TD ><TD CLASS="declbut" ><A HREF="src/Module.html#moduleName" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:modulePackageId" ><A NAME="v%3AmodulePackageId" ></A ></A ><B >modulePackageId</B > :: <A HREF="GHC.html#t%3AModule" >Module</A > -> <A HREF="GHC.html#t%3APackageId" >PackageId</A ></TD ><TD CLASS="declbut" ><A HREF="src/Module.html#modulePackageId" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:ModuleName" ><A NAME="t%3AModuleName" ></A ></A ><B >ModuleName</B > </TD ><TD CLASS="declbut" ><A HREF="src/Module.html#ModuleName" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="GHC.html#t%3AModuleName" >ModuleName</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:mkModuleName" ><A NAME="v%3AmkModuleName" ></A ></A ><B >mkModuleName</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="GHC.html#t%3AModuleName" >ModuleName</A ></TD ><TD CLASS="declbut" ><A HREF="src/Module.html#mkModuleName" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:moduleNameString" ><A NAME="v%3AmoduleNameString" ></A ></A ><B >moduleNameString</B > :: <A HREF="GHC.html#t%3AModuleName" >ModuleName</A > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="declbut" ><A HREF="src/Module.html#moduleNameString" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section2" ><A NAME="15" ><A NAME="15" >Names </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Name" ><A NAME="t%3AName" ></A ></A ><B >Name</B > </TD ><TD CLASS="declbut" ><A HREF="src/Name.html#Name" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="GHC.html#t%3AName" >Name</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isExternalName" ><A NAME="v%3AisExternalName" ></A ></A ><B >isExternalName</B > :: <A HREF="GHC.html#t%3AName" >Name</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/Name.html#isExternalName" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:nameModule" ><A NAME="v%3AnameModule" ></A ></A ><B >nameModule</B > :: <A HREF="GHC.html#t%3AName" >Name</A > -> <A HREF="GHC.html#t%3AModule" >Module</A ></TD ><TD CLASS="declbut" ><A HREF="src/Name.html#nameModule" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:pprParenSymName" ><A NAME="v%3ApprParenSymName" ></A ></A ><B >pprParenSymName</B > :: <A HREF="GHC.html#t%3ANamedThing" >NamedThing</A > a => a -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#pprParenSymName" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:nameSrcSpan" ><A NAME="v%3AnameSrcSpan" ></A ></A ><B >nameSrcSpan</B > :: <A HREF="GHC.html#t%3AName" >Name</A > -> <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A ></TD ><TD CLASS="declbut" ><A HREF="src/Name.html#nameSrcSpan" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><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 ><TD CLASS="declbut" ><A HREF="src/Name.html#NamedThing" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getOccName" ><A NAME="v%3AgetOccName" ></A ></A ><B >getOccName</B > :: a -> <A HREF="OccName.html#t%3AOccName" >OccName</A ></TD ><TD CLASS="declbut" ><A HREF="src/Name.html#getOccName" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getName" ><A NAME="v%3AgetName" ></A ></A ><B >getName</B > :: a -> <A HREF="GHC.html#t%3AName" >Name</A ></TD ><TD CLASS="declbut" ><A HREF="src/Name.html#getName" >Source</A ></TD ></TR ></TABLE ></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="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%3ADataCon" >DataCon</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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:RdrName" ><A NAME="t%3ARdrName" ></A ></A ><B >RdrName</B > </TD ><TD CLASS="declbut" ><A HREF="src/RdrName.html#RdrName" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="GHC.html#t%3ARdrName" >RdrName</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/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="16" ><A NAME="16" >Identifiers </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><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 ><TD CLASS="declbut" ><A HREF="src/Var.html#Id" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:idType" ><A NAME="v%3AidType" ></A ></A ><B >idType</B > :: <A HREF="GHC.html#t%3AId" >Id</A > -> <A HREF="GHC.html#t%3AKind" >Kind</A ></TD ><TD CLASS="declbut" ><A HREF="src/Id.html#idType" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isImplicitId" ><A NAME="v%3AisImplicitId" ></A ></A ><B >isImplicitId</B > :: <A HREF="GHC.html#t%3AId" >Id</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/Id.html#isImplicitId" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isDeadBinder" ><A NAME="v%3AisDeadBinder" ></A ></A ><B >isDeadBinder</B > :: <A HREF="GHC.html#t%3AId" >Id</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/Id.html#isDeadBinder" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isExportedId" ><A NAME="v%3AisExportedId" ></A ></A ><B >isExportedId</B > :: <A HREF="Var.html#t%3AVar" >Var</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/Var.html#isExportedId" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >isExportedIdVar means "don't throw this away" </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isLocalId" ><A NAME="v%3AisLocalId" ></A ></A ><B >isLocalId</B > :: <A HREF="Var.html#t%3AVar" >Var</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/Var.html#isLocalId" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isGlobalId" ><A NAME="v%3AisGlobalId" ></A ></A ><B >isGlobalId</B > :: <A HREF="Var.html#t%3AVar" >Var</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/Var.html#isGlobalId" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isRecordSelector" ><A NAME="v%3AisRecordSelector" ></A ></A ><B >isRecordSelector</B > :: <A HREF="GHC.html#t%3AId" >Id</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/Id.html#isRecordSelector" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isPrimOpId" ><A NAME="v%3AisPrimOpId" ></A ></A ><B >isPrimOpId</B > :: <A HREF="GHC.html#t%3AId" >Id</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/Id.html#isPrimOpId" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isFCallId" ><A NAME="v%3AisFCallId" ></A ></A ><B >isFCallId</B > :: <A HREF="GHC.html#t%3AId" >Id</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/Id.html#isFCallId" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isClassOpId_maybe" ><A NAME="v%3AisClassOpId_maybe" ></A ></A ><B >isClassOpId_maybe</B > :: <A HREF="GHC.html#t%3AId" >Id</A > -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="GHC.html#t%3AClass" >Class</A ></TD ><TD CLASS="declbut" ><A HREF="src/Id.html#isClassOpId_maybe" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isDataConWorkId" ><A NAME="v%3AisDataConWorkId" ></A ></A ><B >isDataConWorkId</B > :: <A HREF="GHC.html#t%3AId" >Id</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/Id.html#isDataConWorkId" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:idDataCon" ><A NAME="v%3AidDataCon" ></A ></A ><B >idDataCon</B > :: <A HREF="GHC.html#t%3AId" >Id</A > -> <A HREF="GHC.html#t%3ADataCon" >DataCon</A ></TD ><TD CLASS="declbut" ><A HREF="src/Id.html#idDataCon" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isBottomingId" ><A NAME="v%3AisBottomingId" ></A ></A ><B >isBottomingId</B > :: <A HREF="GHC.html#t%3AId" >Id</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/Id.html#isBottomingId" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isDictonaryId" ><A NAME="v%3AisDictonaryId" ></A ></A ><B >isDictonaryId</B > :: <A HREF="GHC.html#t%3AId" >Id</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#isDictonaryId" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:recordSelectorFieldLabel" ><A NAME="v%3ArecordSelectorFieldLabel" ></A ></A ><B >recordSelectorFieldLabel</B > :: <A HREF="GHC.html#t%3AId" >Id</A > -> (<A HREF="GHC.html#t%3ATyCon" >TyCon</A >, <A HREF="TyCon.html#t%3AFieldLabel" >FieldLabel</A >)</TD ><TD CLASS="declbut" ><A HREF="src/Id.html#recordSelectorFieldLabel" >Source</A ></TD ></TR ></TABLE ></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="17" ><A NAME="17" >Type constructors </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:TyCon" ><A NAME="t%3ATyCon" ></A ></A ><B >TyCon</B > </TD ><TD CLASS="declbut" ><A HREF="src/TyCon.html#TyCon" >Source</A ></TD ></TR ></TABLE ></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 >* -> *</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-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="GHC.html#t%3ATyCon" >TyCon</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:tyConTyVars" ><A NAME="v%3AtyConTyVars" ></A ></A ><B >tyConTyVars</B > :: <A HREF="GHC.html#t%3ATyCon" >TyCon</A > -> [<A HREF="GHC.html#t%3ATyVar" >TyVar</A >]</TD ><TD CLASS="declbut" ><A HREF="src/TyCon.html#tyConTyVars" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:tyConDataCons" ><A NAME="v%3AtyConDataCons" ></A ></A ><B >tyConDataCons</B > :: <A HREF="GHC.html#t%3ATyCon" >TyCon</A > -> [<A HREF="GHC.html#t%3ADataCon" >DataCon</A >]</TD ><TD CLASS="declbut" ><A HREF="src/TyCon.html#tyConDataCons" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:tyConArity" ><A NAME="v%3AtyConArity" ></A ></A ><B >tyConArity</B > :: <A HREF="GHC.html#t%3ATyCon" >TyCon</A > -> <A HREF="BasicTypes.html#t%3AArity" >Arity</A ></TD ><TD CLASS="declbut" ><A HREF="src/TyCon.html#tyConArity" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isClassTyCon" ><A NAME="v%3AisClassTyCon" ></A ></A ><B >isClassTyCon</B > :: <A HREF="GHC.html#t%3ATyCon" >TyCon</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/TyCon.html#isClassTyCon" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isSynTyCon" ><A NAME="v%3AisSynTyCon" ></A ></A ><B >isSynTyCon</B > :: <A HREF="GHC.html#t%3ATyCon" >TyCon</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/TyCon.html#isSynTyCon" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isNewTyCon" ><A NAME="v%3AisNewTyCon" ></A ></A ><B >isNewTyCon</B > :: <A HREF="GHC.html#t%3ATyCon" >TyCon</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/TyCon.html#isNewTyCon" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isPrimTyCon" ><A NAME="v%3AisPrimTyCon" ></A ></A ><B >isPrimTyCon</B > :: <A HREF="GHC.html#t%3ATyCon" >TyCon</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/TyCon.html#isPrimTyCon" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isFunTyCon" ><A NAME="v%3AisFunTyCon" ></A ></A ><B >isFunTyCon</B > :: <A HREF="GHC.html#t%3ATyCon" >TyCon</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/TyCon.html#isFunTyCon" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isOpenTyCon" ><A NAME="v%3AisOpenTyCon" ></A ></A ><B >isOpenTyCon</B > :: <A HREF="GHC.html#t%3ATyCon" >TyCon</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/TyCon.html#isOpenTyCon" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:synTyConDefn" ><A NAME="v%3AsynTyConDefn" ></A ></A ><B >synTyConDefn</B > :: <A HREF="GHC.html#t%3ATyCon" >TyCon</A > -> ([<A HREF="GHC.html#t%3ATyVar" >TyVar</A >], <A HREF="GHC.html#t%3AType" >Type</A >)</TD ><TD CLASS="declbut" ><A HREF="src/TyCon.html#synTyConDefn" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:synTyConType" ><A NAME="v%3AsynTyConType" ></A ></A ><B >synTyConType</B > :: <A HREF="GHC.html#t%3ATyCon" >TyCon</A > -> <A HREF="GHC.html#t%3AType" >Type</A ></TD ><TD CLASS="declbut" ><A HREF="src/TyCon.html#synTyConType" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:synTyConResKind" ><A NAME="v%3AsynTyConResKind" ></A ></A ><B >synTyConResKind</B > :: <A HREF="GHC.html#t%3ATyCon" >TyCon</A > -> <A HREF="GHC.html#t%3AKind" >Kind</A ></TD ><TD CLASS="declbut" ><A HREF="src/TyCon.html#synTyConResKind" >Source</A ></TD ></TR ></TABLE ></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="18" ><A NAME="18" >Type variables </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><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 ><TD CLASS="declbut" ><A HREF="src/Var.html#TyVar" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:alphaTyVars" ><A NAME="v%3AalphaTyVars" ></A ></A ><B >alphaTyVars</B > :: [<A HREF="GHC.html#t%3ATyVar" >TyVar</A >]</TD ><TD CLASS="declbut" ><A HREF="src/TysPrim.html#alphaTyVars" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section2" ><A NAME="19" ><A NAME="19" >Data constructors </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:DataCon" ><A NAME="t%3ADataCon" ></A ></A ><B >DataCon</B > </TD ><TD CLASS="declbut" ><A HREF="src/DataCon.html#DataCon" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="GHC.html#t%3ADataCon" >DataCon</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > <A HREF="GHC.html#t%3ADataCon" >DataCon</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:dataConSig" ><A NAME="v%3AdataConSig" ></A ></A ><B >dataConSig</B > :: <A HREF="GHC.html#t%3ADataCon" >DataCon</A > -> ([<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 ><TD CLASS="declbut" ><A HREF="src/DataCon.html#dataConSig" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P >The "signature" 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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:dataConType" ><A NAME="v%3AdataConType" ></A ></A ><B >dataConType</B > :: <A HREF="GHC.html#t%3ADataCon" >DataCon</A > -> <A HREF="GHC.html#t%3AType" >Type</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#dataConType" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:dataConTyCon" ><A NAME="v%3AdataConTyCon" ></A ></A ><B >dataConTyCon</B > :: <A HREF="GHC.html#t%3ADataCon" >DataCon</A > -> <A HREF="GHC.html#t%3ATyCon" >TyCon</A ></TD ><TD CLASS="declbut" ><A HREF="src/DataCon.html#dataConTyCon" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:dataConFieldLabels" ><A NAME="v%3AdataConFieldLabels" ></A ></A ><B >dataConFieldLabels</B > :: <A HREF="GHC.html#t%3ADataCon" >DataCon</A > -> [<A HREF="TyCon.html#t%3AFieldLabel" >FieldLabel</A >]</TD ><TD CLASS="declbut" ><A HREF="src/DataCon.html#dataConFieldLabels" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:dataConIsInfix" ><A NAME="v%3AdataConIsInfix" ></A ></A ><B >dataConIsInfix</B > :: <A HREF="GHC.html#t%3ADataCon" >DataCon</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/DataCon.html#dataConIsInfix" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isVanillaDataCon" ><A NAME="v%3AisVanillaDataCon" ></A ></A ><B >isVanillaDataCon</B > :: <A HREF="GHC.html#t%3ADataCon" >DataCon</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/DataCon.html#isVanillaDataCon" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:dataConStrictMarks" ><A NAME="v%3AdataConStrictMarks" ></A ></A ><B >dataConStrictMarks</B > :: <A HREF="GHC.html#t%3ADataCon" >DataCon</A > -> [<A HREF="GHC.html#t%3AStrictnessMark" >StrictnessMark</A >]</TD ><TD CLASS="declbut" ><A HREF="src/DataCon.html#dataConStrictMarks" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:StrictnessMark" ><A NAME="t%3AStrictnessMark" ></A ></A ><B >StrictnessMark</B > </TD ><TD CLASS="declbut" ><A HREF="src/BasicTypes.html#StrictnessMark" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isMarkedStrict" ><A NAME="v%3AisMarkedStrict" ></A ></A ><B >isMarkedStrict</B > :: <A HREF="GHC.html#t%3AStrictnessMark" >StrictnessMark</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/BasicTypes.html#isMarkedStrict" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section2" ><A NAME="20" ><A NAME="20" >Classes </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Class" ><A NAME="t%3AClass" ></A ></A ><B >Class</B > </TD ><TD CLASS="declbut" ><A HREF="src/Class.html#Class" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="GHC.html#t%3AClass" >Class</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > <A HREF="GHC.html#t%3AClass" >Class</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:classMethods" ><A NAME="v%3AclassMethods" ></A ></A ><B >classMethods</B > :: <A HREF="GHC.html#t%3AClass" >Class</A > -> [<A HREF="GHC.html#t%3AId" >Id</A >]</TD ><TD CLASS="declbut" ><A HREF="src/Class.html#classMethods" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:classSCTheta" ><A NAME="v%3AclassSCTheta" ></A ></A ><B >classSCTheta</B > :: <A HREF="GHC.html#t%3AClass" >Class</A > -> [<A HREF="GHC.html#t%3APredType" >PredType</A >]</TD ><TD CLASS="declbut" ><A HREF="src/Class.html#classSCTheta" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:classTvsFds" ><A NAME="v%3AclassTvsFds" ></A ></A ><B >classTvsFds</B > :: <A HREF="GHC.html#t%3AClass" >Class</A > -> ([<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 ><TD CLASS="declbut" ><A HREF="src/Class.html#classTvsFds" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:pprFundeps" ><A NAME="v%3ApprFundeps" ></A ></A ><B >pprFundeps</B > :: <A HREF="Outputable.html#t%3AOutputable" >Outputable</A > a => [<A HREF="Class.html#t%3AFunDep" >FunDep</A > a] -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ><TD CLASS="declbut" ><A HREF="src/Class.html#pprFundeps" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section2" ><A NAME="21" ><A NAME="21" >Instances </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Instance" ><A NAME="t%3AInstance" ></A ></A ><B >Instance</B > </TD ><TD CLASS="declbut" ><A HREF="src/InstEnv.html#Instance" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:instanceDFunId" ><A NAME="v%3AinstanceDFunId" ></A ></A ><B >instanceDFunId</B > :: <A HREF="GHC.html#t%3AInstance" >Instance</A > -> <A HREF="InstEnv.html#t%3ADFunId" >DFunId</A ></TD ><TD CLASS="declbut" ><A HREF="src/InstEnv.html#instanceDFunId" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:pprInstance" ><A NAME="v%3ApprInstance" ></A ></A ><B >pprInstance</B > :: <A HREF="GHC.html#t%3AInstance" >Instance</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ><TD CLASS="declbut" ><A HREF="src/InstEnv.html#pprInstance" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:pprInstanceHdr" ><A NAME="v%3ApprInstanceHdr" ></A ></A ><B >pprInstanceHdr</B > :: <A HREF="GHC.html#t%3AInstance" >Instance</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ><TD CLASS="declbut" ><A HREF="src/InstEnv.html#pprInstanceHdr" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section2" ><A NAME="22" ><A NAME="22" >Types and Kinds </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Type" ><A NAME="t%3AType" ></A ></A ><B >Type</B > </TD ><TD CLASS="declbut" ><A HREF="src/TypeRep.html#Type" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:splitForAllTys" ><A NAME="v%3AsplitForAllTys" ></A ></A ><B >splitForAllTys</B > :: <A HREF="GHC.html#t%3AType" >Type</A > -> ([<A HREF="GHC.html#t%3ATyVar" >TyVar</A >], <A HREF="GHC.html#t%3AType" >Type</A >)</TD ><TD CLASS="declbut" ><A HREF="src/Type.html#splitForAllTys" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:funResultTy" ><A NAME="v%3AfunResultTy" ></A ></A ><B >funResultTy</B > :: <A HREF="GHC.html#t%3AType" >Type</A > -> <A HREF="GHC.html#t%3AType" >Type</A ></TD ><TD CLASS="declbut" ><A HREF="src/Type.html#funResultTy" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:pprParendType" ><A NAME="v%3ApprParendType" ></A ></A ><B >pprParendType</B > :: <A HREF="GHC.html#t%3AType" >Type</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ><TD CLASS="declbut" ><A HREF="src/TypeRep.html#pprParendType" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:pprTypeApp" ><A NAME="v%3ApprTypeApp" ></A ></A ><B >pprTypeApp</B > :: <A HREF="GHC.html#t%3ANamedThing" >NamedThing</A > a => a -> [<A HREF="GHC.html#t%3AType" >Type</A >] -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ><TD CLASS="declbut" ><A HREF="src/TypeRep.html#pprTypeApp" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><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 ><TD CLASS="declbut" ><A HREF="src/TypeRep.html#Kind" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:PredType" ><A NAME="t%3APredType" ></A ></A ><B >PredType</B > </TD ><TD CLASS="declbut" ><A HREF="src/TypeRep.html#PredType" >Source</A ></TD ></TR ></TABLE ></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 >=></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) => a -> Int g :: (?x :: Int -> Int) => a -> Int h :: (r\l) => {r} => {l::Int | r} </PRE ><P >Here the <TT >Eq a</TT > and <TT >?x :: Int -> Int</TT > and <TT >rl</TT > are all called "predicates" </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-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="GHC.html#t%3APredType" >PredType</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><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 ><TD CLASS="declbut" ><A HREF="src/TypeRep.html#ThetaType" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:pprThetaArrow" ><A NAME="v%3ApprThetaArrow" ></A ></A ><B >pprThetaArrow</B > :: <A HREF="GHC.html#t%3AThetaType" >ThetaType</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ><TD CLASS="declbut" ><A HREF="src/TypeRep.html#pprThetaArrow" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section2" ><A NAME="23" ><A NAME="23" >Entities </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:TyThing" ><A NAME="t%3ATyThing" ></A ></A ><B >TyThing</B > </TD ><TD CLASS="declbut" ><A HREF="src/TypeRep.html#TyThing" >Source</A ></TD ></TR ></TABLE ></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="24" ><A NAME="24" >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="25" ><A NAME="25" >Fixities </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:FixityDirection" ><A NAME="t%3AFixityDirection" ></A ></A ><B >FixityDirection</B > </TD ><TD CLASS="declbut" ><A HREF="src/BasicTypes.html#FixityDirection" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:defaultFixity" ><A NAME="v%3AdefaultFixity" ></A ></A ><B >defaultFixity</B > :: <A HREF="BasicTypes.html#t%3AFixity" >Fixity</A ></TD ><TD CLASS="declbut" ><A HREF="src/BasicTypes.html#defaultFixity" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:maxPrecedence" ><A NAME="v%3AmaxPrecedence" ></A ></A ><B >maxPrecedence</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="declbut" ><A HREF="src/BasicTypes.html#maxPrecedence" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:negateFixity" ><A NAME="v%3AnegateFixity" ></A ></A ><B >negateFixity</B > :: <A HREF="BasicTypes.html#t%3AFixity" >Fixity</A ></TD ><TD CLASS="declbut" ><A HREF="src/BasicTypes.html#negateFixity" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:compareFixity" ><A NAME="v%3AcompareFixity" ></A ></A ><B >compareFixity</B > :: <A HREF="BasicTypes.html#t%3AFixity" >Fixity</A > -> <A HREF="BasicTypes.html#t%3AFixity" >Fixity</A > -> (<A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >, <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >)</TD ><TD CLASS="declbut" ><A HREF="src/BasicTypes.html#compareFixity" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section2" ><A NAME="26" ><A NAME="26" >Source locations </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:SrcLoc" ><A NAME="t%3ASrcLoc" ></A ></A ><B >SrcLoc</B > </TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#SrcLoc" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="GHC.html#t%3ASrcLoc" >SrcLoc</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:pprDefnLoc" ><A NAME="v%3ApprDefnLoc" ></A ></A ><B >pprDefnLoc</B > :: <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#pprDefnLoc" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:mkSrcLoc" ><A NAME="v%3AmkSrcLoc" ></A ></A ><B >mkSrcLoc</B > :: <A HREF="FastString.html#t%3AFastString" >FastString</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="GHC.html#t%3ASrcLoc" >SrcLoc</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#mkSrcLoc" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isGoodSrcLoc" ><A NAME="v%3AisGoodSrcLoc" ></A ></A ><B >isGoodSrcLoc</B > :: <A HREF="GHC.html#t%3ASrcLoc" >SrcLoc</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#isGoodSrcLoc" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:noSrcLoc" ><A NAME="v%3AnoSrcLoc" ></A ></A ><B >noSrcLoc</B > :: <A HREF="GHC.html#t%3ASrcLoc" >SrcLoc</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#noSrcLoc" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:srcLocFile" ><A NAME="v%3AsrcLocFile" ></A ></A ><B >srcLocFile</B > :: <A HREF="GHC.html#t%3ASrcLoc" >SrcLoc</A > -> <A HREF="FastString.html#t%3AFastString" >FastString</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#srcLocFile" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:srcLocLine" ><A NAME="v%3AsrcLocLine" ></A ></A ><B >srcLocLine</B > :: <A HREF="GHC.html#t%3ASrcLoc" >SrcLoc</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#srcLocLine" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:srcLocCol" ><A NAME="v%3AsrcLocCol" ></A ></A ><B >srcLocCol</B > :: <A HREF="GHC.html#t%3ASrcLoc" >SrcLoc</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#srcLocCol" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:SrcSpan" ><A NAME="t%3ASrcSpan" ></A ></A ><B >SrcSpan</B > </TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#SrcSpan" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:mkSrcSpan" ><A NAME="v%3AmkSrcSpan" ></A ></A ><B >mkSrcSpan</B > :: <A HREF="GHC.html#t%3ASrcLoc" >SrcLoc</A > -> <A HREF="GHC.html#t%3ASrcLoc" >SrcLoc</A > -> <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#mkSrcSpan" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:srcLocSpan" ><A NAME="v%3AsrcLocSpan" ></A ></A ><B >srcLocSpan</B > :: <A HREF="GHC.html#t%3ASrcLoc" >SrcLoc</A > -> <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#srcLocSpan" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isGoodSrcSpan" ><A NAME="v%3AisGoodSrcSpan" ></A ></A ><B >isGoodSrcSpan</B > :: <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#isGoodSrcSpan" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:noSrcSpan" ><A NAME="v%3AnoSrcSpan" ></A ></A ><B >noSrcSpan</B > :: <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#noSrcSpan" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:srcSpanStart" ><A NAME="v%3AsrcSpanStart" ></A ></A ><B >srcSpanStart</B > :: <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="GHC.html#t%3ASrcLoc" >SrcLoc</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#srcSpanStart" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:srcSpanEnd" ><A NAME="v%3AsrcSpanEnd" ></A ></A ><B >srcSpanEnd</B > :: <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="GHC.html#t%3ASrcLoc" >SrcLoc</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#srcSpanEnd" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:srcSpanFile" ><A NAME="v%3AsrcSpanFile" ></A ></A ><B >srcSpanFile</B > :: <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="FastString.html#t%3AFastString" >FastString</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#srcSpanFile" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:srcSpanStartLine" ><A NAME="v%3AsrcSpanStartLine" ></A ></A ><B >srcSpanStartLine</B > :: <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#srcSpanStartLine" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:srcSpanEndLine" ><A NAME="v%3AsrcSpanEndLine" ></A ></A ><B >srcSpanEndLine</B > :: <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#srcSpanEndLine" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:srcSpanStartCol" ><A NAME="v%3AsrcSpanStartCol" ></A ></A ><B >srcSpanStartCol</B > :: <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#srcSpanStartCol" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:srcSpanEndCol" ><A NAME="v%3AsrcSpanEndCol" ></A ></A ><B >srcSpanEndCol</B > :: <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#srcSpanEndCol" >Source</A ></TD ></TR ></TABLE ></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="27" ><A NAME="27" >Located </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Located" ><A NAME="t%3ALocated" ></A ></A ><B >Located</B > e </TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#Located" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/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 => <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="28" ><A NAME="28" >Constructing Located </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:noLoc" ><A NAME="v%3AnoLoc" ></A ></A ><B >noLoc</B > :: e -> <A HREF="GHC.html#t%3ALocated" >Located</A > e</TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#noLoc" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:mkGeneralLocated" ><A NAME="v%3AmkGeneralLocated" ></A ></A ><B >mkGeneralLocated</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> e -> <A HREF="GHC.html#t%3ALocated" >Located</A > e</TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#mkGeneralLocated" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section3" ><A NAME="29" ><A NAME="29" >Deconstructing Located </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getLoc" ><A NAME="v%3AgetLoc" ></A ></A ><B >getLoc</B > :: <A HREF="GHC.html#t%3ALocated" >Located</A > e -> <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#getLoc" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:unLoc" ><A NAME="v%3AunLoc" ></A ></A ><B >unLoc</B > :: <A HREF="GHC.html#t%3ALocated" >Located</A > e -> e</TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#unLoc" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section3" ><A NAME="30" ><A NAME="30" >Combining and comparing Located values </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:eqLocated" ><A NAME="v%3AeqLocated" ></A ></A ><B >eqLocated</B > :: <A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > a => <A HREF="GHC.html#t%3ALocated" >Located</A > a -> <A HREF="GHC.html#t%3ALocated" >Located</A > a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#eqLocated" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:cmpLocated" ><A NAME="v%3AcmpLocated" ></A ></A ><B >cmpLocated</B > :: <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > a => <A HREF="GHC.html#t%3ALocated" >Located</A > a -> <A HREF="GHC.html#t%3ALocated" >Located</A > a -> <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrdering" >Ordering</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#cmpLocated" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:combineLocs" ><A NAME="v%3AcombineLocs" ></A ></A ><B >combineLocs</B > :: <A HREF="GHC.html#t%3ALocated" >Located</A > a -> <A HREF="GHC.html#t%3ALocated" >Located</A > b -> <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#combineLocs" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:addCLoc" ><A NAME="v%3AaddCLoc" ></A ></A ><B >addCLoc</B > :: <A HREF="GHC.html#t%3ALocated" >Located</A > a -> <A HREF="GHC.html#t%3ALocated" >Located</A > b -> c -> <A HREF="GHC.html#t%3ALocated" >Located</A > c</TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#addCLoc" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:leftmost_smallest" ><A NAME="v%3Aleftmost_smallest" ></A ></A ><B >leftmost_smallest</B > :: <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrdering" >Ordering</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#leftmost_smallest" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:leftmost_largest" ><A NAME="v%3Aleftmost_largest" ></A ></A ><B >leftmost_largest</B > :: <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrdering" >Ordering</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#leftmost_largest" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:rightmost" ><A NAME="v%3Arightmost" ></A ></A ><B >rightmost</B > :: <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrdering" >Ordering</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#rightmost" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:spans" ><A NAME="v%3Aspans" ></A ></A ><B >spans</B > :: <A HREF="GHC.html#t%3ASrcSpan" >SrcSpan</A > -> (<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >) -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#spans" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isSubspanOf" ><A NAME="v%3AisSubspanOf" ></A ></A ><B >isSubspanOf</B ></TD ><TD CLASS="declbut" ><A HREF="src/SrcLoc.html#isSubspanOf" >Source</A ></TD ></TR ></TABLE ></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" >-> <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" >-> <A HREF="../base-4.2.0.2/Data-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="31" ><A NAME="31" >Exceptions </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:GhcException" ><A NAME="t%3AGhcException" ></A ></A ><B >GhcException</B > </TD ><TD CLASS="declbut" ><A HREF="src/Panic.html#GhcException" >Source</A ></TD ></TR ></TABLE ></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-4.2.0.2/Data-Char.html#t%3AString" >String</A > <A HREF="../base-4.2.0.2/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:Signal" ><A NAME="v%3ASignal" ></A ></A ><B >Signal</B > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/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-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="GHC.html#t%3AGhcException" >GhcException</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > <A HREF="GHC.html#t%3AGhcException" >GhcException</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Typeable.html#t%3ATypeable" >Typeable</A > <A HREF="GHC.html#t%3AGhcException" >GhcException</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Panic.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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:showGhcException" ><A NAME="v%3AshowGhcException" ></A ></A ><B >showGhcException</B > :: <A HREF="GHC.html#t%3AGhcException" >GhcException</A > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="declbut" ><A HREF="src/Panic.html#showGhcException" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="32" ><A NAME="32" >Token stream manipulations </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Token" ><A NAME="t%3AToken" ></A ></A ><B >Token</B > </TD ><TD CLASS="declbut" ><A HREF="src/Lexer.html#Token" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getTokenStream" ><A NAME="v%3AgetTokenStream" ></A ></A ><B >getTokenStream</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AModule" >Module</A > -> m [<A HREF="GHC.html#t%3ALocated" >Located</A > <A HREF="GHC.html#t%3AToken" >Token</A >]</TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#getTokenStream" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getRichTokenStream" ><A NAME="v%3AgetRichTokenStream" ></A ></A ><B >getRichTokenStream</B > :: <A HREF="GHC.html#t%3AGhcMonad" >GhcMonad</A > m => <A HREF="GHC.html#t%3AModule" >Module</A > -> m [(<A HREF="GHC.html#t%3ALocated" >Located</A > <A HREF="GHC.html#t%3AToken" >Token</A >, <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >)]</TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#getRichTokenStream" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><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-4.2.0.2/Data-Char.html#t%3AString" >String</A >)] -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#showRichTokenStream" >Source</A ></TD ></TR ></TABLE ></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="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:addSourceToTokens" ><A NAME="v%3AaddSourceToTokens" ></A ></A ><B >addSourceToTokens</B > :: <A HREF="GHC.html#t%3ASrcLoc" >SrcLoc</A > -> <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> [<A HREF="GHC.html#t%3ALocated" >Located</A > <A HREF="GHC.html#t%3AToken" >Token</A >] -> [(<A HREF="GHC.html#t%3ALocated" >Located</A > <A HREF="GHC.html#t%3AToken" >Token</A >, <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >)]</TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#addSourceToTokens" >Source</A ></TD ></TR ></TABLE ></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="33" ><A NAME="33" >Miscellaneous </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:cyclicModuleErr" ><A NAME="v%3AcyclicModuleErr" ></A ></A ><B >cyclicModuleErr</B > :: [<A HREF="GHC.html#t%3AModSummary" >ModSummary</A >] -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ><TD CLASS="declbut" ><A HREF="src/GHC.html#cyclicModuleErr" >Source</A ></TD ></TR ></TABLE ></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.6.1</TD ></TR ></TABLE ></BODY ></HTML >