Sophie

Sophie

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>NameSet</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_NameSet.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"
>NameSet</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"
>Names set type
</A
></DT
><DD
><DL
><DT
><A HREF="#2"
>Manipulating these sets
</A
></DT
></DL
></DD
><DT
><A HREF="#3"
>Free variables
</A
></DT
><DD
><DL
><DT
><A HREF="#4"
>Manipulating sets of free variables
</A
></DT
></DL
></DD
><DT
><A HREF="#5"
>Defs and uses
</A
></DT
><DD
><DL
><DT
><A HREF="#6"
>Manipulating defs and uses
</A
></DT
></DL
></DD
></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"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ANameSet"
>NameSet</A
> = <A HREF="UniqSet.html#t%3AUniqSet"
>UniqSet</A
> <A HREF="Name.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AemptyNameSet"
>emptyNameSet</A
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunitNameSet"
>unitNameSet</A
> :: <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkNameSet"
>mkNameSet</A
> :: [<A HREF="Name.html#t%3AName"
>Name</A
>] -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunionNameSets"
>unionNameSets</A
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunionManyNameSets"
>unionManyNameSets</A
> :: [<A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
>] -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AminusNameSet"
>minusNameSet</A
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AelemNameSet"
>elemNameSet</A
> :: <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnameSetToList"
>nameSetToList</A
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; [<A HREF="Name.html#t%3AName"
>Name</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AaddOneToNameSet"
>addOneToNameSet</A
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AaddListToNameSet"
>addListToNameSet</A
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; [<A HREF="Name.html#t%3AName"
>Name</A
>] -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdelFromNameSet"
>delFromNameSet</A
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdelListFromNameSet"
>delListFromNameSet</A
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; [<A HREF="Name.html#t%3AName"
>Name</A
>] -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisEmptyNameSet"
>isEmptyNameSet</A
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfoldNameSet"
>foldNameSet</A
> ::  (<A HREF="Name.html#t%3AName"
>Name</A
> -&gt; b -&gt; b) -&gt; b -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfilterNameSet"
>filterNameSet</A
> :: (<A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AintersectsNameSet"
>intersectsNameSet</A
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AintersectNameSet"
>intersectNameSet</A
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AFreeVars"
>FreeVars</A
> = <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisEmptyFVs"
>isEmptyFVs</A
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AemptyFVs"
>emptyFVs</A
> :: <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AplusFVs"
>plusFVs</A
> :: [<A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
>] -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AplusFV"
>plusFV</A
> :: <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
> -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
> -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkFVs"
>mkFVs</A
> :: [<A HREF="Name.html#t%3AName"
>Name</A
>] -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AaddOneFV"
>addOneFV</A
> :: <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunitFV"
>unitFV</A
> :: <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdelFV"
>delFV</A
> :: <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
> -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdelFVs"
>delFVs</A
> :: [<A HREF="Name.html#t%3AName"
>Name</A
>] -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
> -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ADefs"
>Defs</A
> = <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AUses"
>Uses</A
> = <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ADefUse"
>DefUse</A
> = (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="NameSet.html#t%3ADefs"
>Defs</A
>, <A HREF="NameSet.html#t%3AUses"
>Uses</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ADefUses"
>DefUses</A
> = [<A HREF="NameSet.html#t%3ADefUse"
>DefUse</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AemptyDUs"
>emptyDUs</A
> :: <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AusesOnly"
>usesOnly</A
> :: <A HREF="NameSet.html#t%3AUses"
>Uses</A
> -&gt; <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkDUs"
>mkDUs</A
> :: [(<A HREF="NameSet.html#t%3ADefs"
>Defs</A
>, <A HREF="NameSet.html#t%3AUses"
>Uses</A
>)] -&gt; <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AplusDU"
>plusDU</A
> :: <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
> -&gt; <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
> -&gt; <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfindUses"
>findUses</A
> :: <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
> -&gt; <A HREF="NameSet.html#t%3AUses"
>Uses</A
> -&gt; <A HREF="NameSet.html#t%3AUses"
>Uses</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AduDefs"
>duDefs</A
> :: <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
> -&gt; <A HREF="NameSet.html#t%3ADefs"
>Defs</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AduUses"
>duUses</A
> :: <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
> -&gt; <A HREF="NameSet.html#t%3AUses"
>Uses</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AallUses"
>allUses</A
> :: <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
> -&gt; <A HREF="NameSet.html#t%3AUses"
>Uses</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"
>Names set type
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:NameSet"
><A NAME="t%3ANameSet"
></A
></A
><B
>NameSet</B
> = <A HREF="UniqSet.html#t%3AUniqSet"
>UniqSet</A
> <A HREF="Name.html#t%3AName"
>Name</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="2"
><A NAME="2"
>Manipulating these sets
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:emptyNameSet"
><A NAME="v%3AemptyNameSet"
></A
></A
><B
>emptyNameSet</B
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unitNameSet"
><A NAME="v%3AunitNameSet"
></A
></A
><B
>unitNameSet</B
> :: <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkNameSet"
><A NAME="v%3AmkNameSet"
></A
></A
><B
>mkNameSet</B
> :: [<A HREF="Name.html#t%3AName"
>Name</A
>] -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unionNameSets"
><A NAME="v%3AunionNameSets"
></A
></A
><B
>unionNameSets</B
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unionManyNameSets"
><A NAME="v%3AunionManyNameSets"
></A
></A
><B
>unionManyNameSets</B
> :: [<A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
>] -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:minusNameSet"
><A NAME="v%3AminusNameSet"
></A
></A
><B
>minusNameSet</B
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:elemNameSet"
><A NAME="v%3AelemNameSet"
></A
></A
><B
>elemNameSet</B
> :: <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:nameSetToList"
><A NAME="v%3AnameSetToList"
></A
></A
><B
>nameSetToList</B
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; [<A HREF="Name.html#t%3AName"
>Name</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:addOneToNameSet"
><A NAME="v%3AaddOneToNameSet"
></A
></A
><B
>addOneToNameSet</B
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:addListToNameSet"
><A NAME="v%3AaddListToNameSet"
></A
></A
><B
>addListToNameSet</B
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; [<A HREF="Name.html#t%3AName"
>Name</A
>] -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:delFromNameSet"
><A NAME="v%3AdelFromNameSet"
></A
></A
><B
>delFromNameSet</B
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:delListFromNameSet"
><A NAME="v%3AdelListFromNameSet"
></A
></A
><B
>delListFromNameSet</B
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; [<A HREF="Name.html#t%3AName"
>Name</A
>] -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isEmptyNameSet"
><A NAME="v%3AisEmptyNameSet"
></A
></A
><B
>isEmptyNameSet</B
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:foldNameSet"
><A NAME="v%3AfoldNameSet"
></A
></A
><B
>foldNameSet</B
> ::  (<A HREF="Name.html#t%3AName"
>Name</A
> -&gt; b -&gt; b) -&gt; b -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; b</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:filterNameSet"
><A NAME="v%3AfilterNameSet"
></A
></A
><B
>filterNameSet</B
> :: (<A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:intersectsNameSet"
><A NAME="v%3AintersectsNameSet"
></A
></A
><B
>intersectsNameSet</B
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>True if there is a non-empty intersection.
 <TT
>s1 <TT
><A HREF="NameSet.html#v%3AintersectsNameSet"
>intersectsNameSet</A
></TT
> s2</TT
> doesn't compute <TT
>s2</TT
> if <TT
>s1</TT
> is empty
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:intersectNameSet"
><A NAME="v%3AintersectNameSet"
></A
></A
><B
>intersectNameSet</B
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="3"
><A NAME="3"
>Free variables
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:FreeVars"
><A NAME="t%3AFreeVars"
></A
></A
><B
>FreeVars</B
> = <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="4"
><A NAME="4"
>Manipulating sets of free variables
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isEmptyFVs"
><A NAME="v%3AisEmptyFVs"
></A
></A
><B
>isEmptyFVs</B
> :: <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:emptyFVs"
><A NAME="v%3AemptyFVs"
></A
></A
><B
>emptyFVs</B
> :: <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:plusFVs"
><A NAME="v%3AplusFVs"
></A
></A
><B
>plusFVs</B
> :: [<A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
>] -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:plusFV"
><A NAME="v%3AplusFV"
></A
></A
><B
>plusFV</B
> :: <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
> -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
> -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkFVs"
><A NAME="v%3AmkFVs"
></A
></A
><B
>mkFVs</B
> :: [<A HREF="Name.html#t%3AName"
>Name</A
>] -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:addOneFV"
><A NAME="v%3AaddOneFV"
></A
></A
><B
>addOneFV</B
> :: <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
> -&gt; <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unitFV"
><A NAME="v%3AunitFV"
></A
></A
><B
>unitFV</B
> :: <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:delFV"
><A NAME="v%3AdelFV"
></A
></A
><B
>delFV</B
> :: <A HREF="Name.html#t%3AName"
>Name</A
> -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
> -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:delFVs"
><A NAME="v%3AdelFVs"
></A
></A
><B
>delFVs</B
> :: [<A HREF="Name.html#t%3AName"
>Name</A
>] -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
> -&gt; <A HREF="NameSet.html#t%3AFreeVars"
>FreeVars</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="5"
><A NAME="5"
>Defs and uses
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:Defs"
><A NAME="t%3ADefs"
></A
></A
><B
>Defs</B
> = <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="doc"
>A set of names that are defined somewhere
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:Uses"
><A NAME="t%3AUses"
></A
></A
><B
>Uses</B
> = <A HREF="NameSet.html#t%3ANameSet"
>NameSet</A
></TD
></TR
><TR
><TD CLASS="doc"
>A set of names that are used somewhere
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:DefUse"
><A NAME="t%3ADefUse"
></A
></A
><B
>DefUse</B
> = (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="NameSet.html#t%3ADefs"
>Defs</A
>, <A HREF="NameSet.html#t%3AUses"
>Uses</A
>)</TD
></TR
><TR
><TD CLASS="doc"
><P
><TT
>(Just ds, us) =&gt;</TT
> The use of any member of the <TT
>ds</TT
>
                      implies that all the <TT
>us</TT
> are used too.
                      Also, <TT
>us</TT
> may mention <TT
>ds</TT
>.
</P
><P
><TT
>Nothing =&gt;</TT
> Nothing is defined in this group, but
 	        nevertheless all the uses are essential.
	        Used for instance declarations, for example
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:DefUses"
><A NAME="t%3ADefUses"
></A
></A
><B
>DefUses</B
> = [<A HREF="NameSet.html#t%3ADefUse"
>DefUse</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>A number of <TT
><A HREF="NameSet.html#t%3ADefUse"
>DefUse</A
></TT
>s in dependency order: earlier <TT
><A HREF="NameSet.html#t%3ADefs"
>Defs</A
></TT
> scope over later <TT
><A HREF="NameSet.html#t%3AUses"
>Uses</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="6"
><A NAME="6"
>Manipulating defs and uses
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:emptyDUs"
><A NAME="v%3AemptyDUs"
></A
></A
><B
>emptyDUs</B
> :: <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:usesOnly"
><A NAME="v%3AusesOnly"
></A
></A
><B
>usesOnly</B
> :: <A HREF="NameSet.html#t%3AUses"
>Uses</A
> -&gt; <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkDUs"
><A NAME="v%3AmkDUs"
></A
></A
><B
>mkDUs</B
> :: [(<A HREF="NameSet.html#t%3ADefs"
>Defs</A
>, <A HREF="NameSet.html#t%3AUses"
>Uses</A
>)] -&gt; <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:plusDU"
><A NAME="v%3AplusDU"
></A
></A
><B
>plusDU</B
> :: <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
> -&gt; <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
> -&gt; <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:findUses"
><A NAME="v%3AfindUses"
></A
></A
><B
>findUses</B
> :: <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
> -&gt; <A HREF="NameSet.html#t%3AUses"
>Uses</A
> -&gt; <A HREF="NameSet.html#t%3AUses"
>Uses</A
></TD
></TR
><TR
><TD CLASS="doc"
>Given some <TT
><A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
></TT
> and some <TT
><A HREF="NameSet.html#t%3AUses"
>Uses</A
></TT
>, find all the uses, transitively.
 The result is a superset of the input <TT
><A HREF="NameSet.html#t%3AUses"
>Uses</A
></TT
>; and includes things defined 
 in the input <TT
><A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
></TT
> (but only if they are used)
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:duDefs"
><A NAME="v%3AduDefs"
></A
></A
><B
>duDefs</B
> :: <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
> -&gt; <A HREF="NameSet.html#t%3ADefs"
>Defs</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:duUses"
><A NAME="v%3AduUses"
></A
></A
><B
>duUses</B
> :: <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
> -&gt; <A HREF="NameSet.html#t%3AUses"
>Uses</A
></TD
></TR
><TR
><TD CLASS="doc"
>Just like <TT
><A HREF="NameSet.html#v%3AallUses"
>allUses</A
></TT
>, but <TT
><A HREF="NameSet.html#t%3ADefs"
>Defs</A
></TT
> are not eliminated from the <TT
><A HREF="NameSet.html#t%3AUses"
>Uses</A
></TT
> returned
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:allUses"
><A NAME="v%3AallUses"
></A
></A
><B
>allUses</B
> :: <A HREF="NameSet.html#t%3ADefUses"
>DefUses</A
> -&gt; <A HREF="NameSet.html#t%3AUses"
>Uses</A
></TD
></TR
><TR
><TD CLASS="doc"
>Collect all <TT
><A HREF="NameSet.html#t%3AUses"
>Uses</A
></TT
>, regardless of whether the group is itself used,
 but remove <TT
><A HREF="NameSet.html#t%3ADefs"
>Defs</A
></TT
> on the way
</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
>