Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 70ec89744a04da80369b4702b2c37256 > files > 781

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>HscMain</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_HscMain.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>ghc-6.10.4: The GHC API</TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>HscMain</FONT
></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%3AnewHscEnv"
>newHscEnv</A
> :: <A HREF="DynFlags.html#t%3ADynFlags"
>DynFlags</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhscCmmFile"
>hscCmmFile</A
> :: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhscParseIdentifier"
>hscParseIdentifier</A
> :: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="DynFlags.html#t%3ADynFlags"
>DynFlags</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; m (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> <A HREF="RdrName.html#t%3ARdrName"
>RdrName</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhscSimplify"
>hscSimplify</A
> :: <A HREF="HscTypes.html#t%3AModGuts"
>ModGuts</A
> -&gt; Comp <A HREF="HscTypes.html#t%3AModGuts"
>ModGuts</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AevalComp"
>evalComp</A
> ::  Comp a -&gt; <A HREF="HscMain.html#t%3ACompState"
>CompState</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="ErrUtils.html#t%3AMessages"
>Messages</A
>, a)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhscNormalIface"
>hscNormalIface</A
> :: <A HREF="HscTypes.html#t%3AModGuts"
>ModGuts</A
> -&gt; Comp (<A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
>, <A HREF="HscTypes.html#t%3ACgGuts"
>CgGuts</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhscWriteIface"
>hscWriteIface</A
> ::  (<A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
>, a) -&gt; Comp (<A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
>, a)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhscOneShot"
>hscOneShot</A
> :: (<A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
>, <A HREF="HscTypes.html#t%3ACgGuts"
>CgGuts</A
>) -&gt; Comp (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="HscMain.html#t%3AHscStatus"
>HscStatus</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ACompState"
>CompState</A
>  = <A HREF="#v%3ACompState"
>CompState</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3AcompHscEnv"
>compHscEnv</A
> :: <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AcompModSummary"
>compModSummary</A
> :: <A HREF="HscTypes.html#t%3AModSummary"
>ModSummary</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3AcompOldIface"
>compOldIface</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
></TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhscStmt"
>hscStmt</A
> :: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; m (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> ([<A HREF="Var.html#t%3AId"
>Id</A
>], <A HREF="ByteCodeLink.html#t%3AHValue"
>HValue</A
>))</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhscTcExpr"
>hscTcExpr</A
> :: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; m <A HREF="Type.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhscKcType"
>hscKcType</A
> :: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; m <A HREF="Type.html#t%3AKind"
>Kind</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcompileExpr"
>compileExpr</A
> :: <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="CoreSyn.html#t%3ACoreExpr"
>CoreExpr</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="ByteCodeLink.html#t%3AHValue"
>HValue</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhscCompileOneShot"
>hscCompileOneShot</A
> :: Compiler <A HREF="HscMain.html#t%3AHscStatus"
>HscStatus</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhscCompileBatch"
>hscCompileBatch</A
> :: Compiler (<A HREF="HscMain.html#t%3AHscStatus"
>HscStatus</A
>, <A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhscCompileNothing"
>hscCompileNothing</A
> :: Compiler (<A HREF="HscMain.html#t%3AHscStatus"
>HscStatus</A
>, <A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhscCompileInteractive"
>hscCompileInteractive</A
> :: Compiler (<A HREF="HscMain.html#t%3AInteractiveStatus"
>InteractiveStatus</A
>, <A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</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%3AHscStatus"
>HscStatus</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AHscNoRecomp"
>HscNoRecomp</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AHscRecomp"
>HscRecomp</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</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%3AInteractiveStatus"
>InteractiveStatus</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AInteractiveNoRecomp"
>InteractiveNoRecomp</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInteractiveRecomp"
>InteractiveRecomp</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> <A HREF="ByteCodeAsm.html#t%3ACompiledByteCode"
>CompiledByteCode</A
> <A HREF="HscTypes.html#t%3AModBreaks"
>ModBreaks</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AparseFile"
>parseFile</A
> :: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="HscTypes.html#t%3AModSummary"
>ModSummary</A
> -&gt; m (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsSyn.html#t%3AHsModule"
>HsModule</A
> <A HREF="RdrName.html#t%3ARdrName"
>RdrName</A
>))</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtypecheckModule%27"
>typecheckModule'</A
> :: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="HscTypes.html#t%3AModSummary"
>ModSummary</A
> -&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsSyn.html#t%3AHsModule"
>HsModule</A
> <A HREF="RdrName.html#t%3ARdrName"
>RdrName</A
>) -&gt; m <A HREF="TcRnTypes.html#t%3ATcGblEnv"
>TcGblEnv</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtypecheckRenameModule"
>typecheckRenameModule</A
> :: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="HscTypes.html#t%3AModSummary"
>ModSummary</A
> -&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsSyn.html#t%3AHsModule"
>HsModule</A
> <A HREF="RdrName.html#t%3ARdrName"
>RdrName</A
>) -&gt; m (<A HREF="TcRnTypes.html#t%3ATcGblEnv"
>TcGblEnv</A
>, RenamedStuff)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdeSugarModule"
>deSugarModule</A
> :: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="HscTypes.html#t%3AModSummary"
>ModSummary</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcGblEnv"
>TcGblEnv</A
> -&gt; m <A HREF="HscTypes.html#t%3AModGuts"
>ModGuts</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmakeSimpleIface"
>makeSimpleIface</A
> :: <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcGblEnv"
>TcGblEnv</A
> -&gt; <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmakeSimpleDetails"
>makeSimpleDetails</A
> :: <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcGblEnv"
>TcGblEnv</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ACompiler%27"
>Compiler'</A
> m result = <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="HscTypes.html#t%3AModSummary"
>ModSummary</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>, <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>) -&gt; m result</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AbackendCompilers"
>backendCompilers</A
> :: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="TcRnTypes.html#t%3ATcGblEnv"
>TcGblEnv</A
> -&gt; (<A HREF="HscMain.html#t%3ACompiler%27"
>Compiler'</A
> m (<A HREF="HscMain.html#t%3AHscStatus"
>HscStatus</A
>, <A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
>), <A HREF="HscMain.html#t%3ACompiler%27"
>Compiler'</A
> m (<A HREF="HscMain.html#t%3AInteractiveStatus"
>InteractiveStatus</A
>, <A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
>), <A HREF="HscMain.html#t%3ACompiler%27"
>Compiler'</A
> m (<A HREF="HscMain.html#t%3AHscStatus"
>HscStatus</A
>, <A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
>))</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Documentation</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newHscEnv"
><A NAME="v%3AnewHscEnv"
></A
></A
><B
>newHscEnv</B
> :: <A HREF="DynFlags.html#t%3ADynFlags"
>DynFlags</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hscCmmFile"
><A NAME="v%3AhscCmmFile"
></A
></A
><B
>hscCmmFile</B
> :: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hscParseIdentifier"
><A NAME="v%3AhscParseIdentifier"
></A
></A
><B
>hscParseIdentifier</B
> :: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="DynFlags.html#t%3ADynFlags"
>DynFlags</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; m (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> <A HREF="RdrName.html#t%3ARdrName"
>RdrName</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hscSimplify"
><A NAME="v%3AhscSimplify"
></A
></A
><B
>hscSimplify</B
> :: <A HREF="HscTypes.html#t%3AModGuts"
>ModGuts</A
> -&gt; Comp <A HREF="HscTypes.html#t%3AModGuts"
>ModGuts</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:evalComp"
><A NAME="v%3AevalComp"
></A
></A
><B
>evalComp</B
> ::  Comp a -&gt; <A HREF="HscMain.html#t%3ACompState"
>CompState</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="ErrUtils.html#t%3AMessages"
>Messages</A
>, a)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hscNormalIface"
><A NAME="v%3AhscNormalIface"
></A
></A
><B
>hscNormalIface</B
> :: <A HREF="HscTypes.html#t%3AModGuts"
>ModGuts</A
> -&gt; Comp (<A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
>, <A HREF="HscTypes.html#t%3ACgGuts"
>CgGuts</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hscWriteIface"
><A NAME="v%3AhscWriteIface"
></A
></A
><B
>hscWriteIface</B
> ::  (<A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
>, a) -&gt; Comp (<A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
>, a)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hscOneShot"
><A NAME="v%3AhscOneShot"
></A
></A
><B
>hscOneShot</B
> :: (<A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
>, <A HREF="HscTypes.html#t%3ACgGuts"
>CgGuts</A
>) -&gt; Comp (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="HscMain.html#t%3AHscStatus"
>HscStatus</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:CompState"
><A NAME="t%3ACompState"
></A
></A
><B
>CompState</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:CompState"
><A NAME="v%3ACompState"
></A
></A
><B
>CompState</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:compHscEnv"
><A NAME="v%3AcompHscEnv"
></A
></A
><B
>compHscEnv</B
> :: <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:compModSummary"
><A NAME="v%3AcompModSummary"
></A
></A
><B
>compModSummary</B
> :: <A HREF="HscTypes.html#t%3AModSummary"
>ModSummary</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:compOldIface"
><A NAME="v%3AcompOldIface"
></A
></A
><B
>compOldIface</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hscStmt"
><A NAME="v%3AhscStmt"
></A
></A
><B
>hscStmt</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>=&gt; <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>-&gt; m (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> ([<A HREF="Var.html#t%3AId"
>Id</A
>], <A HREF="ByteCodeLink.html#t%3AHValue"
>HValue</A
>))</TD
><TD CLASS="rdoc"
><TT
><A HREF="../base/Data-Maybe.html#v%3ANothing"
>Nothing</A
></TT
> <A HREF="=="
>==</A
> empty statement (or comment only), but no parse error
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hscTcExpr"
><A NAME="v%3AhscTcExpr"
></A
></A
><B
>hscTcExpr</B
> :: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; m <A HREF="Type.html#t%3AType"
>Type</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hscKcType"
><A NAME="v%3AhscKcType"
></A
></A
><B
>hscKcType</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>=&gt; <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>The type
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; m <A HREF="Type.html#t%3AKind"
>Kind</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
>Find the kind of a type
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:compileExpr"
><A NAME="v%3AcompileExpr"
></A
></A
><B
>compileExpr</B
> :: <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="CoreSyn.html#t%3ACoreExpr"
>CoreExpr</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="ByteCodeLink.html#t%3AHValue"
>HValue</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hscCompileOneShot"
><A NAME="v%3AhscCompileOneShot"
></A
></A
><B
>hscCompileOneShot</B
> :: Compiler <A HREF="HscMain.html#t%3AHscStatus"
>HscStatus</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hscCompileBatch"
><A NAME="v%3AhscCompileBatch"
></A
></A
><B
>hscCompileBatch</B
> :: Compiler (<A HREF="HscMain.html#t%3AHscStatus"
>HscStatus</A
>, <A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hscCompileNothing"
><A NAME="v%3AhscCompileNothing"
></A
></A
><B
>hscCompileNothing</B
> :: Compiler (<A HREF="HscMain.html#t%3AHscStatus"
>HscStatus</A
>, <A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:hscCompileInteractive"
><A NAME="v%3AhscCompileInteractive"
></A
></A
><B
>hscCompileInteractive</B
> :: Compiler (<A HREF="HscMain.html#t%3AInteractiveStatus"
>InteractiveStatus</A
>, <A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:HscStatus"
><A NAME="t%3AHscStatus"
></A
></A
><B
>HscStatus</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:HscNoRecomp"
><A NAME="v%3AHscNoRecomp"
></A
></A
><B
>HscNoRecomp</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:HscRecomp"
><A NAME="v%3AHscRecomp"
></A
></A
><B
>HscRecomp</B
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:InteractiveStatus"
><A NAME="t%3AInteractiveStatus"
></A
></A
><B
>InteractiveStatus</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:InteractiveNoRecomp"
><A NAME="v%3AInteractiveNoRecomp"
></A
></A
><B
>InteractiveNoRecomp</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InteractiveRecomp"
><A NAME="v%3AInteractiveRecomp"
></A
></A
><B
>InteractiveRecomp</B
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> <A HREF="ByteCodeAsm.html#t%3ACompiledByteCode"
>CompiledByteCode</A
> <A HREF="HscTypes.html#t%3AModBreaks"
>ModBreaks</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:parseFile"
><A NAME="v%3AparseFile"
></A
></A
><B
>parseFile</B
> :: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="HscTypes.html#t%3AModSummary"
>ModSummary</A
> -&gt; m (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsSyn.html#t%3AHsModule"
>HsModule</A
> <A HREF="RdrName.html#t%3ARdrName"
>RdrName</A
>))</TD
></TR
><TR
><TD CLASS="doc"
>parse a file, returning the abstract syntax
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:typecheckModule'"
><A NAME="v%3AtypecheckModule%27"
></A
></A
><B
>typecheckModule'</B
> :: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="HscTypes.html#t%3AModSummary"
>ModSummary</A
> -&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsSyn.html#t%3AHsModule"
>HsModule</A
> <A HREF="RdrName.html#t%3ARdrName"
>RdrName</A
>) -&gt; m <A HREF="TcRnTypes.html#t%3ATcGblEnv"
>TcGblEnv</A
></TD
></TR
><TR
><TD CLASS="doc"
>Rename and typecheck a module
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:typecheckRenameModule"
><A NAME="v%3AtypecheckRenameModule"
></A
></A
><B
>typecheckRenameModule</B
> :: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="HscTypes.html#t%3AModSummary"
>ModSummary</A
> -&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> (<A HREF="HsSyn.html#t%3AHsModule"
>HsModule</A
> <A HREF="RdrName.html#t%3ARdrName"
>RdrName</A
>) -&gt; m (<A HREF="TcRnTypes.html#t%3ATcGblEnv"
>TcGblEnv</A
>, RenamedStuff)</TD
></TR
><TR
><TD CLASS="doc"
>Rename and typecheck a module, additionally returning the renamed syntax
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:deSugarModule"
><A NAME="v%3AdeSugarModule"
></A
></A
><B
>deSugarModule</B
> :: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="HscTypes.html#t%3AModSummary"
>ModSummary</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcGblEnv"
>TcGblEnv</A
> -&gt; m <A HREF="HscTypes.html#t%3AModGuts"
>ModGuts</A
></TD
></TR
><TR
><TD CLASS="doc"
>Convert a typechecked module to Core
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:makeSimpleIface"
><A NAME="v%3AmakeSimpleIface"
></A
></A
><B
>makeSimpleIface</B
> :: <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcGblEnv"
>TcGblEnv</A
> -&gt; <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> (<A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>)</TD
></TR
><TR
><TD CLASS="doc"
>Make a <TT
><A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
></TT
> from the results of typechecking.  Used when
 not optimising, and the interface doesn't need to contain any
 unfoldings or other cross-module optimisation info.
 ToDo: the old interface is only needed to get the version numbers,
 we should use fingerprint versions instead.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:makeSimpleDetails"
><A NAME="v%3AmakeSimpleDetails"
></A
></A
><B
>makeSimpleDetails</B
> :: <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="TcRnTypes.html#t%3ATcGblEnv"
>TcGblEnv</A
> -&gt; <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
> <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
></TD
></TR
><TR
><TD CLASS="doc"
>Make a <TT
><A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
></TT
> from the results of typechecking.  Used when
 typechecking only, as opposed to full compilation.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:Compiler'"
><A NAME="t%3ACompiler%27"
></A
></A
><B
>Compiler'</B
> m result = <A HREF="HscTypes.html#t%3AHscEnv"
>HscEnv</A
> -&gt; <A HREF="HscTypes.html#t%3AModSummary"
>ModSummary</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>, <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>) -&gt; m result</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:backendCompilers"
><A NAME="v%3AbackendCompilers"
></A
></A
><B
>backendCompilers</B
> :: <A HREF="HscTypes.html#t%3AGhcMonad"
>GhcMonad</A
> m =&gt; <A HREF="TcRnTypes.html#t%3ATcGblEnv"
>TcGblEnv</A
> -&gt; (<A HREF="HscMain.html#t%3ACompiler%27"
>Compiler'</A
> m (<A HREF="HscMain.html#t%3AHscStatus"
>HscStatus</A
>, <A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
>), <A HREF="HscMain.html#t%3ACompiler%27"
>Compiler'</A
> m (<A HREF="HscMain.html#t%3AInteractiveStatus"
>InteractiveStatus</A
>, <A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
>), <A HREF="HscMain.html#t%3ACompiler%27"
>Compiler'</A
> m (<A HREF="HscMain.html#t%3AHscStatus"
>HscStatus</A
>, <A HREF="HscTypes.html#t%3AModIface"
>ModIface</A
>, <A HREF="HscTypes.html#t%3AModDetails"
>ModDetails</A
>))</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.4.2</TD
></TR
></TABLE
></BODY
></HTML
>