<!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 >UniqSet</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_UniqSet.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" >UniqSet</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" >Unique set type </A ></DT ><DD ><DL ><DT ><A HREF="#2" >Manipulating these sets </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%3AUniqSet" >UniqSet</A > a = <A HREF="UniqFM.html#t%3AUniqFM" >UniqFM</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkUniqSet" >mkUniqSet</A > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => [a] -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AuniqSetToList" >uniqSetToList</A > :: <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> [a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AemptyUniqSet" >emptyUniqSet</A > :: <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AunitUniqSet" >unitUniqSet</A > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AaddOneToUniqSet" >addOneToUniqSet</A > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AaddListToUniqSet" >addListToUniqSet</A > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> [a] -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AaddOneToUniqSet_C" >addOneToUniqSet_C</A > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => (a -> a -> a) -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AdelOneFromUniqSet" >delOneFromUniqSet</A > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AdelListFromUniqSet" >delListFromUniqSet</A > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> [a] -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AdelOneFromUniqSet_Directly" >delOneFromUniqSet_Directly</A > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="Unique.html#t%3AUnique" >Unique</A > -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AunionUniqSets" >unionUniqSets</A > :: <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AunionManyUniqSets" >unionManyUniqSets</A > :: [<A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a] -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AminusUniqSet" >minusUniqSet</A > :: <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AelementOfUniqSet" >elementOfUniqSet</A > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</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%3AmapUniqSet" >mapUniqSet</A > :: (a -> b) -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AintersectUniqSets" >intersectUniqSets</A > :: <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisEmptyUniqSet" >isEmptyUniqSet</A > :: <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</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%3AfilterUniqSet" >filterUniqSet</A > :: (a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsizeUniqSet" >sizeUniqSet</A > :: <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > 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%3AfoldUniqSet" >foldUniqSet</A > :: (a -> b -> b) -> b -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AelemUniqSet_Directly" >elemUniqSet_Directly</A > :: <A HREF="Unique.html#t%3AUnique" >Unique</A > -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</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%3AlookupUniqSet" >lookupUniqSet</A > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> a -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AhashUniqSet" >hashUniqSet</A > :: <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</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" >Unique set type </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:UniqSet" ><A NAME="t%3AUniqSet" ></A ></A ><B >UniqSet</B > a = <A HREF="UniqFM.html#t%3AUniqFM" >UniqFM</A > 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:mkUniqSet" ><A NAME="v%3AmkUniqSet" ></A ></A ><B >mkUniqSet</B > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => [a] -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:uniqSetToList" ><A NAME="v%3AuniqSetToList" ></A ></A ><B >uniqSetToList</B > :: <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> [a]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:emptyUniqSet" ><A NAME="v%3AemptyUniqSet" ></A ></A ><B >emptyUniqSet</B > :: <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:unitUniqSet" ><A NAME="v%3AunitUniqSet" ></A ></A ><B >unitUniqSet</B > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:addOneToUniqSet" ><A NAME="v%3AaddOneToUniqSet" ></A ></A ><B >addOneToUniqSet</B > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:addListToUniqSet" ><A NAME="v%3AaddListToUniqSet" ></A ></A ><B >addListToUniqSet</B > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> [a] -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:addOneToUniqSet_C" ><A NAME="v%3AaddOneToUniqSet_C" ></A ></A ><B >addOneToUniqSet_C</B > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => (a -> a -> a) -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:delOneFromUniqSet" ><A NAME="v%3AdelOneFromUniqSet" ></A ></A ><B >delOneFromUniqSet</B > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:delListFromUniqSet" ><A NAME="v%3AdelListFromUniqSet" ></A ></A ><B >delListFromUniqSet</B > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> [a] -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:delOneFromUniqSet_Directly" ><A NAME="v%3AdelOneFromUniqSet_Directly" ></A ></A ><B >delOneFromUniqSet_Directly</B > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="Unique.html#t%3AUnique" >Unique</A > -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:unionUniqSets" ><A NAME="v%3AunionUniqSets" ></A ></A ><B >unionUniqSets</B > :: <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:unionManyUniqSets" ><A NAME="v%3AunionManyUniqSets" ></A ></A ><B >unionManyUniqSets</B > :: [<A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a] -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:minusUniqSet" ><A NAME="v%3AminusUniqSet" ></A ></A ><B >minusUniqSet</B > :: <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:elementOfUniqSet" ><A NAME="v%3AelementOfUniqSet" ></A ></A ><B >elementOfUniqSet</B > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mapUniqSet" ><A NAME="v%3AmapUniqSet" ></A ></A ><B >mapUniqSet</B > :: (a -> b) -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > b</TD ></TR ><TR ><TD CLASS="doc" >Invariant: the mapping function doesn't change the unique </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:intersectUniqSets" ><A NAME="v%3AintersectUniqSets" ></A ></A ><B >intersectUniqSets</B > :: <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isEmptyUniqSet" ><A NAME="v%3AisEmptyUniqSet" ></A ></A ><B >isEmptyUniqSet</B > :: <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:filterUniqSet" ><A NAME="v%3AfilterUniqSet" ></A ></A ><B >filterUniqSet</B > :: (a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:sizeUniqSet" ><A NAME="v%3AsizeUniqSet" ></A ></A ><B >sizeUniqSet</B > :: <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:foldUniqSet" ><A NAME="v%3AfoldUniqSet" ></A ></A ><B >foldUniqSet</B > :: (a -> b -> b) -> b -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> b</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:elemUniqSet_Directly" ><A NAME="v%3AelemUniqSet_Directly" ></A ></A ><B >elemUniqSet_Directly</B > :: <A HREF="Unique.html#t%3AUnique" >Unique</A > -> <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:lookupUniqSet" ><A NAME="v%3AlookupUniqSet" ></A ></A ><B >lookupUniqSet</B > :: <A HREF="Unique.html#t%3AUniquable" >Uniquable</A > a => <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> a -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:hashUniqSet" ><A NAME="v%3AhashUniqSet" ></A ></A ><B >hashUniqSet</B > :: <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > a -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</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.6.1</TD ></TR ></TABLE ></BODY ></HTML >