<!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 >IfaceEnv</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_IfaceEnv.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="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" >IfaceEnv</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%3AnewGlobalBinder" >newGlobalBinder</A > :: <A HREF="Module.html#t%3AModule" >Module</A > -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="SrcLoc.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="TcRnTypes.html#t%3ATcRnIf" >TcRnIf</A > a b <A HREF="Name.html#t%3AName" >Name</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AnewIPName" >newIPName</A > :: <A HREF="BasicTypes.html#t%3AIPName" >IPName</A > <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="TcRnTypes.html#t%3ATcRnIf" >TcRnIf</A > m n (<A HREF="BasicTypes.html#t%3AIPName" >IPName</A > <A HREF="Name.html#t%3AName" >Name</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AnewImplicitBinder" >newImplicitBinder</A > :: <A HREF="Name.html#t%3AName" >Name</A > -> (<A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="OccName.html#t%3AOccName" >OccName</A >) -> <A HREF="TcRnTypes.html#t%3ATcRnIf" >TcRnIf</A > m n <A HREF="Name.html#t%3AName" >Name</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AlookupIfaceTop" >lookupIfaceTop</A > :: <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > <A HREF="Name.html#t%3AName" >Name</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AlookupOrig" >lookupOrig</A > :: <A HREF="Module.html#t%3AModule" >Module</A > -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="TcRnTypes.html#t%3ATcRnIf" >TcRnIf</A > a b <A HREF="Name.html#t%3AName" >Name</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AlookupOrigNameCache" >lookupOrigNameCache</A > :: <A HREF="HscTypes.html#t%3AOrigNameCache" >OrigNameCache</A > -> <A HREF="Module.html#t%3AModule" >Module</A > -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="Name.html#t%3AName" >Name</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AextendNameCache" >extendNameCache</A > :: <A HREF="HscTypes.html#t%3AOrigNameCache" >OrigNameCache</A > -> <A HREF="Module.html#t%3AModule" >Module</A > -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="Name.html#t%3AName" >Name</A > -> <A HREF="HscTypes.html#t%3AOrigNameCache" >OrigNameCache</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AnewIfaceName" >newIfaceName</A > :: <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > <A HREF="Name.html#t%3AName" >Name</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AnewIfaceNames" >newIfaceNames</A > :: [<A HREF="OccName.html#t%3AOccName" >OccName</A >] -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > [<A HREF="Name.html#t%3AName" >Name</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AextendIfaceIdEnv" >extendIfaceIdEnv</A > :: [<A HREF="Var.html#t%3AId" >Id</A >] -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > a -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AextendIfaceTyVarEnv" >extendIfaceTyVarEnv</A > :: [<A HREF="Var.html#t%3ATyVar" >TyVar</A >] -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > a -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtcIfaceLclId" >tcIfaceLclId</A > :: <A HREF="FastString.html#t%3AFastString" >FastString</A > -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > <A HREF="Var.html#t%3AId" >Id</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtcIfaceTyVar" >tcIfaceTyVar</A > :: <A HREF="FastString.html#t%3AFastString" >FastString</A > -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > <A HREF="Var.html#t%3ATyVar" >TyVar</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AlookupIfaceTyVar" >lookupIfaceTyVar</A > :: <A HREF="FastString.html#t%3AFastString" >FastString</A > -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > (<A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="Var.html#t%3ATyVar" >TyVar</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtcIfaceTick" >tcIfaceTick</A > :: <A HREF="Module.html#t%3AModule" >Module</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > <A HREF="Var.html#t%3AId" >Id</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AifaceExportNames" >ifaceExportNames</A > :: [<A HREF="HscTypes.html#t%3AIfaceExport" >IfaceExport</A >] -> <A HREF="TcRnTypes.html#t%3ATcRnIf" >TcRnIf</A > gbl lcl [<A HREF="HscTypes.html#t%3AAvailInfo" >AvailInfo</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AallocateGlobalBinder" >allocateGlobalBinder</A > :: <A HREF="HscTypes.html#t%3ANameCache" >NameCache</A > -> <A HREF="Module.html#t%3AModule" >Module</A > -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="SrcLoc.html#t%3ASrcSpan" >SrcSpan</A > -> (<A HREF="HscTypes.html#t%3ANameCache" >NameCache</A >, <A HREF="Name.html#t%3AName" >Name</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AinitNameCache" >initNameCache</A > :: <A HREF="UniqSupply.html#t%3AUniqSupply" >UniqSupply</A > -> [<A HREF="Name.html#t%3AName" >Name</A >] -> <A HREF="HscTypes.html#t%3ANameCache" >NameCache</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgetNameCache" >getNameCache</A > :: <A HREF="TcRnTypes.html#t%3ATcRnIf" >TcRnIf</A > a b <A HREF="HscTypes.html#t%3ANameCache" >NameCache</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkNameCacheUpdater" >mkNameCacheUpdater</A > :: <A HREF="TcRnTypes.html#t%3ATcRnIf" >TcRnIf</A > a b (<A HREF="IfaceEnv.html#t%3ANameCacheUpdater" >NameCacheUpdater</A > c)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3ANameCacheUpdater" >NameCacheUpdater</A > c = (<A HREF="HscTypes.html#t%3ANameCache" >NameCache</A > -> (<A HREF="HscTypes.html#t%3ANameCache" >NameCache</A >, c)) -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > c</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:newGlobalBinder" ><A NAME="v%3AnewGlobalBinder" ></A ></A ><B >newGlobalBinder</B > :: <A HREF="Module.html#t%3AModule" >Module</A > -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="SrcLoc.html#t%3ASrcSpan" >SrcSpan</A > -> <A HREF="TcRnTypes.html#t%3ATcRnIf" >TcRnIf</A > a b <A HREF="Name.html#t%3AName" >Name</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:newIPName" ><A NAME="v%3AnewIPName" ></A ></A ><B >newIPName</B > :: <A HREF="BasicTypes.html#t%3AIPName" >IPName</A > <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="TcRnTypes.html#t%3ATcRnIf" >TcRnIf</A > m n (<A HREF="BasicTypes.html#t%3AIPName" >IPName</A > <A HREF="Name.html#t%3AName" >Name</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:newImplicitBinder" ><A NAME="v%3AnewImplicitBinder" ></A ></A ><B >newImplicitBinder</B > :: <A HREF="Name.html#t%3AName" >Name</A > -> (<A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="OccName.html#t%3AOccName" >OccName</A >) -> <A HREF="TcRnTypes.html#t%3ATcRnIf" >TcRnIf</A > m n <A HREF="Name.html#t%3AName" >Name</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:lookupIfaceTop" ><A NAME="v%3AlookupIfaceTop" ></A ></A ><B >lookupIfaceTop</B > :: <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > <A HREF="Name.html#t%3AName" >Name</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:lookupOrig" ><A NAME="v%3AlookupOrig" ></A ></A ><B >lookupOrig</B > :: <A HREF="Module.html#t%3AModule" >Module</A > -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="TcRnTypes.html#t%3ATcRnIf" >TcRnIf</A > a b <A HREF="Name.html#t%3AName" >Name</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:lookupOrigNameCache" ><A NAME="v%3AlookupOrigNameCache" ></A ></A ><B >lookupOrigNameCache</B > :: <A HREF="HscTypes.html#t%3AOrigNameCache" >OrigNameCache</A > -> <A HREF="Module.html#t%3AModule" >Module</A > -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="Name.html#t%3AName" >Name</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:extendNameCache" ><A NAME="v%3AextendNameCache" ></A ></A ><B >extendNameCache</B > :: <A HREF="HscTypes.html#t%3AOrigNameCache" >OrigNameCache</A > -> <A HREF="Module.html#t%3AModule" >Module</A > -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="Name.html#t%3AName" >Name</A > -> <A HREF="HscTypes.html#t%3AOrigNameCache" >OrigNameCache</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:newIfaceName" ><A NAME="v%3AnewIfaceName" ></A ></A ><B >newIfaceName</B > :: <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > <A HREF="Name.html#t%3AName" >Name</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:newIfaceNames" ><A NAME="v%3AnewIfaceNames" ></A ></A ><B >newIfaceNames</B > :: [<A HREF="OccName.html#t%3AOccName" >OccName</A >] -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > [<A HREF="Name.html#t%3AName" >Name</A >]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:extendIfaceIdEnv" ><A NAME="v%3AextendIfaceIdEnv" ></A ></A ><B >extendIfaceIdEnv</B > :: [<A HREF="Var.html#t%3AId" >Id</A >] -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > a -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:extendIfaceTyVarEnv" ><A NAME="v%3AextendIfaceTyVarEnv" ></A ></A ><B >extendIfaceTyVarEnv</B > :: [<A HREF="Var.html#t%3ATyVar" >TyVar</A >] -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > a -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:tcIfaceLclId" ><A NAME="v%3AtcIfaceLclId" ></A ></A ><B >tcIfaceLclId</B > :: <A HREF="FastString.html#t%3AFastString" >FastString</A > -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > <A HREF="Var.html#t%3AId" >Id</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:tcIfaceTyVar" ><A NAME="v%3AtcIfaceTyVar" ></A ></A ><B >tcIfaceTyVar</B > :: <A HREF="FastString.html#t%3AFastString" >FastString</A > -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > <A HREF="Var.html#t%3ATyVar" >TyVar</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:lookupIfaceTyVar" ><A NAME="v%3AlookupIfaceTyVar" ></A ></A ><B >lookupIfaceTyVar</B > :: <A HREF="FastString.html#t%3AFastString" >FastString</A > -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > (<A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="Var.html#t%3ATyVar" >TyVar</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:tcIfaceTick" ><A NAME="v%3AtcIfaceTick" ></A ></A ><B >tcIfaceTick</B > :: <A HREF="Module.html#t%3AModule" >Module</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="TcRnTypes.html#t%3AIfL" >IfL</A > <A HREF="Var.html#t%3AId" >Id</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:ifaceExportNames" ><A NAME="v%3AifaceExportNames" ></A ></A ><B >ifaceExportNames</B > :: [<A HREF="HscTypes.html#t%3AIfaceExport" >IfaceExport</A >] -> <A HREF="TcRnTypes.html#t%3ATcRnIf" >TcRnIf</A > gbl lcl [<A HREF="HscTypes.html#t%3AAvailInfo" >AvailInfo</A >]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:allocateGlobalBinder" ><A NAME="v%3AallocateGlobalBinder" ></A ></A ><B >allocateGlobalBinder</B > :: <A HREF="HscTypes.html#t%3ANameCache" >NameCache</A > -> <A HREF="Module.html#t%3AModule" >Module</A > -> <A HREF="OccName.html#t%3AOccName" >OccName</A > -> <A HREF="SrcLoc.html#t%3ASrcSpan" >SrcSpan</A > -> (<A HREF="HscTypes.html#t%3ANameCache" >NameCache</A >, <A HREF="Name.html#t%3AName" >Name</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:initNameCache" ><A NAME="v%3AinitNameCache" ></A ></A ><B >initNameCache</B > :: <A HREF="UniqSupply.html#t%3AUniqSupply" >UniqSupply</A > -> [<A HREF="Name.html#t%3AName" >Name</A >] -> <A HREF="HscTypes.html#t%3ANameCache" >NameCache</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:getNameCache" ><A NAME="v%3AgetNameCache" ></A ></A ><B >getNameCache</B > :: <A HREF="TcRnTypes.html#t%3ATcRnIf" >TcRnIf</A > a b <A HREF="HscTypes.html#t%3ANameCache" >NameCache</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkNameCacheUpdater" ><A NAME="v%3AmkNameCacheUpdater" ></A ></A ><B >mkNameCacheUpdater</B > :: <A HREF="TcRnTypes.html#t%3ATcRnIf" >TcRnIf</A > a b (<A HREF="IfaceEnv.html#t%3ANameCacheUpdater" >NameCacheUpdater</A > c)</TD ></TR ><TR ><TD CLASS="doc" >Return a function to atomically update the name cache. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:NameCacheUpdater" ><A NAME="t%3ANameCacheUpdater" ></A ></A ><B >NameCacheUpdater</B > c = (<A HREF="HscTypes.html#t%3ANameCache" >NameCache</A > -> (<A HREF="HscTypes.html#t%3ANameCache" >NameCache</A >, c)) -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > c</TD ></TR ><TR ><TD CLASS="doc" >A function that atomically updates the name cache given a modifier function. The second result of the modifier function will be the result of the IO action. </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 >