<!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 >Util</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_Util.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" >Util</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" >Flags dependent on the compiler build </A ></DT ><DT ><A HREF="#2" >General list processing </A ></DT ><DT ><A HREF="#3" >List operations controlled by another list </A ></DT ><DT ><A HREF="#4" >For loop </A ></DT ><DT ><A HREF="#5" >Sorting </A ></DT ><DT ><A HREF="#6" >Comparisons </A ></DT ><DT ><A HREF="#7" >Transitive closures </A ></DT ><DT ><A HREF="#8" >Strictness </A ></DT ><DT ><A HREF="#9" >Module names </A ></DT ><DT ><A HREF="#10" >Argument processing </A ></DT ><DT ><A HREF="#11" >Floating point </A ></DT ><DT ><A HREF="#12" >IO-ish utilities </A ></DT ><DT ><A HREF="#13" >Filenames and paths </A ></DT ></DL ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Description</TD ></TR ><TR ><TD CLASS="doc" >Highly random utility functions </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%3AghciSupported" >ghciSupported</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%3AdebugIsOn" >debugIsOn</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%3AghciTablesNextToCode" >ghciTablesNextToCode</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%3AisDynamicGhcLib" >isDynamicGhcLib</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%3AisWindowsHost" >isWindowsHost</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%3AisWindowsTarget" >isWindowsTarget</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%3AisDarwinTarget" >isDarwinTarget</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%3AzipEqual" >zipEqual</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> [a] -> [b] -> [(a, b)]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AzipWithEqual" >zipWithEqual</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> (a -> b -> c) -> [a] -> [b] -> [c]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AzipWith3Equal" >zipWith3Equal</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AzipWith4Equal" >zipWith4Equal</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AzipLazy" >zipLazy</A > :: [a] -> [b] -> [(a, b)]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AstretchZipWith" >stretchZipWith</A > :: (a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> b -> (a -> b -> c) -> [a] -> [b] -> [c]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AunzipWith" >unzipWith</A > :: (a -> b -> c) -> [(a, b)] -> [c]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmapFst" >mapFst</A > :: (a -> c) -> [(a, b)] -> [(c, b)]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmapSnd" >mapSnd</A > :: (b -> c) -> [(a, b)] -> [(a, c)]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmapAndUnzip" >mapAndUnzip</A > :: (a -> (b, c)) -> [a] -> ([b], [c])</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmapAndUnzip3" >mapAndUnzip3</A > :: (a -> (b, c, d)) -> [a] -> ([b], [c], [d])</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AnOfThem" >nOfThem</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> a -> [a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfilterOut" >filterOut</A > :: (a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> [a] -> [a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ApartitionWith" >partitionWith</A > :: (a -> <A HREF="../base-4.2.0.2/Data-Either.html#t%3AEither" >Either</A > b c) -> [a] -> ([b], [c])</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsplitEithers" >splitEithers</A > :: [<A HREF="../base-4.2.0.2/Data-Either.html#t%3AEither" >Either</A > a b] -> ([a], [b])</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Afoldl1%27" >foldl1'</A > :: (a -> a -> a) -> [a] -> a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Afoldl2" >foldl2</A > :: (acc -> a -> b -> acc) -> acc -> [a] -> [b] -> acc</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Acount" >count</A > :: (a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</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%3Aall2" >all2</A > :: (a -> b -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> [a] -> [b] -> <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%3AlengthExceeds" >lengthExceeds</A > :: [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%3AlengthIs" >lengthIs</A > :: [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%3AlengthAtLeast" >lengthAtLeast</A > :: [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%3AlistLengthCmp" >listLengthCmp</A > :: [a] -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</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%3AatLength" >atLength</A > :: ([a] -> b) -> (<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> b) -> [a] -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AequalLength" >equalLength</A > :: [a] -> [b] -> <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%3AcompareLength" >compareLength</A > :: [a] -> [b] -> <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%3AisSingleton" >isSingleton</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%3Aonly" >only</A > :: [a] -> a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Asingleton" >singleton</A > :: a -> [a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AnotNull" >notNull</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%3AsnocView" >snocView</A > :: [a] -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > ([a], a)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisIn" >isIn</A > :: <A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > a => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> 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%3Aisn%27tIn" >isn'tIn</A > :: <A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > a => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> 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%3AtakeList" >takeList</A > :: [b] -> [a] -> [a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AdropList" >dropList</A > :: [b] -> [a] -> [a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsplitAtList" >splitAtList</A > :: [b] -> [a] -> ([a], [a])</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Asplit" >split</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</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%3AdropTail" >dropTail</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> [a] -> [a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AnTimes" >nTimes</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> (a -> a) -> a -> a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsortLe" >sortLe</A > :: (a -> a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> [a] -> [a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsortWith" >sortWith</A > :: <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > b => (a -> b) -> [a] -> [a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aon" >on</A > :: (a -> a -> c) -> (b -> a) -> b -> b -> c</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisEqual" >isEqual</A > :: <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrdering" >Ordering</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%3AeqListBy" >eqListBy</A > :: (a -> a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> [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%3AthenCmp" >thenCmp</A > :: <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrdering" >Ordering</A > -> <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrdering" >Ordering</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%3AcmpList" >cmpList</A > :: (a -> a -> <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrdering" >Ordering</A >) -> [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%3AremoveSpaces" >removeSpaces</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%3AtransitiveClosure" >transitiveClosure</A > :: (a -> [a]) -> (a -> a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> [a] -> [a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AseqList" >seqList</A > :: [a] -> b -> b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AlooksLikeModuleName" >looksLikeModuleName</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</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%3AgetCmd" >getCmd</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Either.html#t%3AEither" >Either</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 >, <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%3AtoCmdArgs" >toCmdArgs</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Either.html#t%3AEither" >Either</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 >, [<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%3AtoArgs" >toArgs</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Either.html#t%3AEither" >Either</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%3AreadRational" >readRational</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Prelude.html#t%3ARational" >Rational</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcreateDirectoryHierarchy" >createDirectoryHierarchy</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%3AIO" >IO</A > <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%3AdoesDirNameExist" >doesDirNameExist</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%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%3AmodificationTimeIfExists" >modificationTimeIfExists</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%3AIO" >IO</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="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aglobal" >global</A > :: a -> <A HREF="IOEnv.html#t%3AIORef" >IORef</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AconsIORef" >consIORef</A > :: <A HREF="IOEnv.html#t%3AIORef" >IORef</A > [a] -> 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="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AglobalMVar" >globalMVar</A > :: a -> <A HREF="../base-4.2.0.2/Control-Concurrent-MVar.html#t%3AMVar" >MVar</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AglobalEmptyMVar" >globalEmptyMVar</A > :: <A HREF="../base-4.2.0.2/Control-Concurrent-MVar.html#t%3AMVar" >MVar</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3ASuffix" >Suffix</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%3AsplitLongestPrefix" >splitLongestPrefix</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%3AChar" >Char</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</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%3AescapeSpaces" >escapeSpaces</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%3AparseSearchPath" >parseSearchPath</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%3AFilePath" >FilePath</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%3ADirection" >Direction</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3AForwards" >Forwards</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ABackwards" >Backwards</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Areslash" >reslash</A > :: <A HREF="Util.html#t%3ADirection" >Direction</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 ></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" >Flags dependent on the compiler build </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:ghciSupported" ><A NAME="v%3AghciSupported" ></A ></A ><B >ghciSupported</B > :: <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:debugIsOn" ><A NAME="v%3AdebugIsOn" ></A ></A ><B >debugIsOn</B > :: <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:ghciTablesNextToCode" ><A NAME="v%3AghciTablesNextToCode" ></A ></A ><B >ghciTablesNextToCode</B > :: <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:isDynamicGhcLib" ><A NAME="v%3AisDynamicGhcLib" ></A ></A ><B >isDynamicGhcLib</B > :: <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:isWindowsHost" ><A NAME="v%3AisWindowsHost" ></A ></A ><B >isWindowsHost</B > :: <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:isWindowsTarget" ><A NAME="v%3AisWindowsTarget" ></A ></A ><B >isWindowsTarget</B > :: <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:isDarwinTarget" ><A NAME="v%3AisDarwinTarget" ></A ></A ><B >isDarwinTarget</B > :: <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="section1" ><A NAME="2" ><A NAME="2" >General list processing </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zipEqual" ><A NAME="v%3AzipEqual" ></A ></A ><B >zipEqual</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> [a] -> [b] -> [(a, b)]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zipWithEqual" ><A NAME="v%3AzipWithEqual" ></A ></A ><B >zipWithEqual</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> (a -> b -> c) -> [a] -> [b] -> [c]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zipWith3Equal" ><A NAME="v%3AzipWith3Equal" ></A ></A ><B >zipWith3Equal</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zipWith4Equal" ><A NAME="v%3AzipWith4Equal" ></A ></A ><B >zipWith4Equal</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zipLazy" ><A NAME="v%3AzipLazy" ></A ></A ><B >zipLazy</B > :: [a] -> [b] -> [(a, b)]</TD ></TR ><TR ><TD CLASS="doc" ><TT ><A HREF="Util.html#v%3AzipLazy" >zipLazy</A ></TT > is a kind of <TT ><A HREF="../base-4.2.0.2/Data-List.html#v%3Azip" >zip</A ></TT > that is lazy in the second list (observe the ~) </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:stretchZipWith" ><A NAME="v%3AstretchZipWith" ></A ></A ><B >stretchZipWith</B > :: (a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> b -> (a -> b -> c) -> [a] -> [b] -> [c]</TD ></TR ><TR ><TD CLASS="doc" ><TT >stretchZipWith p z f xs ys</TT > stretches <TT >ys</TT > by inserting <TT >z</TT > in the places where <TT >p</TT > returns <TT >True</TT > </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:unzipWith" ><A NAME="v%3AunzipWith" ></A ></A ><B >unzipWith</B > :: (a -> b -> c) -> [(a, b)] -> [c]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mapFst" ><A NAME="v%3AmapFst" ></A ></A ><B >mapFst</B > :: (a -> c) -> [(a, b)] -> [(c, b)]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mapSnd" ><A NAME="v%3AmapSnd" ></A ></A ><B >mapSnd</B > :: (b -> c) -> [(a, b)] -> [(a, c)]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mapAndUnzip" ><A NAME="v%3AmapAndUnzip" ></A ></A ><B >mapAndUnzip</B > :: (a -> (b, c)) -> [a] -> ([b], [c])</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mapAndUnzip3" ><A NAME="v%3AmapAndUnzip3" ></A ></A ><B >mapAndUnzip3</B > :: (a -> (b, c, d)) -> [a] -> ([b], [c], [d])</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:nOfThem" ><A NAME="v%3AnOfThem" ></A ></A ><B >nOfThem</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> a -> [a]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:filterOut" ><A NAME="v%3AfilterOut" ></A ></A ><B >filterOut</B > :: (a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> [a] -> [a]</TD ></TR ><TR ><TD CLASS="doc" >Like filter, only it reverses the sense of the test </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:partitionWith" ><A NAME="v%3ApartitionWith" ></A ></A ><B >partitionWith</B > :: (a -> <A HREF="../base-4.2.0.2/Data-Either.html#t%3AEither" >Either</A > b c) -> [a] -> ([b], [c])</TD ></TR ><TR ><TD CLASS="doc" >Uses a function to determine which of two output lists an input element should join </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:splitEithers" ><A NAME="v%3AsplitEithers" ></A ></A ><B >splitEithers</B > :: [<A HREF="../base-4.2.0.2/Data-Either.html#t%3AEither" >Either</A > a b] -> ([a], [b])</TD ></TR ><TR ><TD CLASS="doc" >Teases a list of <TT ><A HREF="../base-4.2.0.2/Data-Either.html#t%3AEither" >Either</A ></TT >s apart into two lists </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:foldl1'" ><A NAME="v%3Afoldl1%27" ></A ></A ><B >foldl1'</B > :: (a -> a -> a) -> [a] -> a</TD ></TR ><TR ><TD CLASS="doc" >A strict version of <TT ><A HREF="../base-4.2.0.2/Data-List.html#v%3Afoldl1" >foldl1</A ></TT > </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:foldl2" ><A NAME="v%3Afoldl2" ></A ></A ><B >foldl2</B > :: (acc -> a -> b -> acc) -> acc -> [a] -> [b] -> acc</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:count" ><A NAME="v%3Acount" ></A ></A ><B >count</B > :: (a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</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:all2" ><A NAME="v%3Aall2" ></A ></A ><B >all2</B > :: (a -> b -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> [a] -> [b] -> <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:lengthExceeds" ><A NAME="v%3AlengthExceeds" ></A ></A ><B >lengthExceeds</B > :: [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="doc" ><PRE > (lengthExceeds xs n) = (length xs > n) </PRE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:lengthIs" ><A NAME="v%3AlengthIs" ></A ></A ><B >lengthIs</B > :: [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="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:lengthAtLeast" ><A NAME="v%3AlengthAtLeast" ></A ></A ><B >lengthAtLeast</B > :: [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="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:listLengthCmp" ><A NAME="v%3AlistLengthCmp" ></A ></A ><B >listLengthCmp</B > :: [a] -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrdering" >Ordering</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:atLength" ><A NAME="v%3AatLength" ></A ></A ><B >atLength</B > :: ([a] -> b) -> (<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> b) -> [a] -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> b</TD ></TR ><TR ><TD CLASS="doc" ><P ><TT >atLength atLen atEnd ls n</TT > unravels list <TT >ls</TT > to position <TT >n</TT >. Precisely: </P ><PRE > atLength atLenPred atEndPred ls n | n < 0 = atLenPred n | length ls < n = atEndPred (n - length ls) | otherwise = atLenPred (drop n ls) </PRE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:equalLength" ><A NAME="v%3AequalLength" ></A ></A ><B >equalLength</B > :: [a] -> [b] -> <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:compareLength" ><A NAME="v%3AcompareLength" ></A ></A ><B >compareLength</B > :: [a] -> [b] -> <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrdering" >Ordering</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isSingleton" ><A NAME="v%3AisSingleton" ></A ></A ><B >isSingleton</B > :: [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:only" ><A NAME="v%3Aonly" ></A ></A ><B >only</B > :: [a] -> a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:singleton" ><A NAME="v%3Asingleton" ></A ></A ><B >singleton</B > :: a -> [a]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:notNull" ><A NAME="v%3AnotNull" ></A ></A ><B >notNull</B > :: [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:snocView" ><A NAME="v%3AsnocView" ></A ></A ><B >snocView</B > :: [a] -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > ([a], a)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isIn" ><A NAME="v%3AisIn" ></A ></A ><B >isIn</B > :: <A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > a => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> 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:isn'tIn" ><A NAME="v%3Aisn%27tIn" ></A ></A ><B >isn'tIn</B > :: <A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > a => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> 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="section1" ><A NAME="3" ><A NAME="3" >List operations controlled by another list </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:takeList" ><A NAME="v%3AtakeList" ></A ></A ><B >takeList</B > :: [b] -> [a] -> [a]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:dropList" ><A NAME="v%3AdropList" ></A ></A ><B >dropList</B > :: [b] -> [a] -> [a]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:splitAtList" ><A NAME="v%3AsplitAtList" ></A ></A ><B >splitAtList</B > :: [b] -> [a] -> ([a], [a])</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:split" ><A NAME="v%3Asplit" ></A ></A ><B >split</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</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="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:dropTail" ><A NAME="v%3AdropTail" ></A ></A ><B >dropTail</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> [a] -> [a]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="4" ><A NAME="4" >For loop </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:nTimes" ><A NAME="v%3AnTimes" ></A ></A ><B >nTimes</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> (a -> a) -> a -> a</TD ></TR ><TR ><TD CLASS="doc" >Compose a function with itself n times. (nth rather than twice) </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="5" ><A NAME="5" >Sorting </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:sortLe" ><A NAME="v%3AsortLe" ></A ></A ><B >sortLe</B > :: (a -> a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> [a] -> [a]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:sortWith" ><A NAME="v%3AsortWith" ></A ></A ><B >sortWith</B > :: <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > b => (a -> b) -> [a] -> [a]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:on" ><A NAME="v%3Aon" ></A ></A ><B >on</B > :: (a -> a -> c) -> (b -> a) -> b -> b -> c</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="6" ><A NAME="6" >Comparisons </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isEqual" ><A NAME="v%3AisEqual" ></A ></A ><B >isEqual</B > :: <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrdering" >Ordering</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:eqListBy" ><A NAME="v%3AeqListBy" ></A ></A ><B >eqListBy</B > :: (a -> a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> [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:thenCmp" ><A NAME="v%3AthenCmp" ></A ></A ><B >thenCmp</B > :: <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrdering" >Ordering</A > -> <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrdering" >Ordering</A > -> <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrdering" >Ordering</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:cmpList" ><A NAME="v%3AcmpList" ></A ></A ><B >cmpList</B > :: (a -> a -> <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrdering" >Ordering</A >) -> [a] -> [a] -> <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrdering" >Ordering</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:removeSpaces" ><A NAME="v%3AremoveSpaces" ></A ></A ><B >removeSpaces</B > :: <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="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="7" ><A NAME="7" >Transitive closures </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:transitiveClosure" ><A NAME="v%3AtransitiveClosure" ></A ></A ><B >transitiveClosure</B > :: (a -> [a]) -> (a -> a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> [a] -> [a]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="8" ><A NAME="8" >Strictness </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:seqList" ><A NAME="v%3AseqList" ></A ></A ><B >seqList</B > :: [a] -> b -> b</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="9" ><A NAME="9" >Module names </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:looksLikeModuleName" ><A NAME="v%3AlooksLikeModuleName" ></A ></A ><B >looksLikeModuleName</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</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="section1" ><A NAME="10" ><A NAME="10" >Argument processing </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:getCmd" ><A NAME="v%3AgetCmd" ></A ></A ><B >getCmd</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Either.html#t%3AEither" >Either</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 >, <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:toCmdArgs" ><A NAME="v%3AtoCmdArgs" ></A ></A ><B >toCmdArgs</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Either.html#t%3AEither" >Either</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 >, [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >])</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:toArgs" ><A NAME="v%3AtoArgs" ></A ></A ><B >toArgs</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Either.html#t%3AEither" >Either</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="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="11" ><A NAME="11" >Floating point </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:readRational" ><A NAME="v%3AreadRational" ></A ></A ><B >readRational</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Prelude.html#t%3ARational" >Rational</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="12" ><A NAME="12" >IO-ish utilities </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:createDirectoryHierarchy" ><A NAME="v%3AcreateDirectoryHierarchy" ></A ></A ><B >createDirectoryHierarchy</B > :: <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%3AIO" >IO</A > <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:doesDirNameExist" ><A NAME="v%3AdoesDirNameExist" ></A ></A ><B >doesDirNameExist</B > :: <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%3AIO" >IO</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:modificationTimeIfExists" ><A NAME="v%3AmodificationTimeIfExists" ></A ></A ><B >modificationTimeIfExists</B > :: <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%3AIO" >IO</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="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:global" ><A NAME="v%3Aglobal" ></A ></A ><B >global</B > :: a -> <A HREF="IOEnv.html#t%3AIORef" >IORef</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:consIORef" ><A NAME="v%3AconsIORef" ></A ></A ><B >consIORef</B > :: <A HREF="IOEnv.html#t%3AIORef" >IORef</A > [a] -> 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="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:globalMVar" ><A NAME="v%3AglobalMVar" ></A ></A ><B >globalMVar</B > :: a -> <A HREF="../base-4.2.0.2/Control-Concurrent-MVar.html#t%3AMVar" >MVar</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:globalEmptyMVar" ><A NAME="v%3AglobalEmptyMVar" ></A ></A ><B >globalEmptyMVar</B > :: <A HREF="../base-4.2.0.2/Control-Concurrent-MVar.html#t%3AMVar" >MVar</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="13" ><A NAME="13" >Filenames and paths </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:Suffix" ><A NAME="t%3ASuffix" ></A ></A ><B >Suffix</B > = <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:splitLongestPrefix" ><A NAME="v%3AsplitLongestPrefix" ></A ></A ><B >splitLongestPrefix</B > :: <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%3AChar" >Char</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</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="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:escapeSpaces" ><A NAME="v%3AescapeSpaces" ></A ></A ><B >escapeSpaces</B > :: <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="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseSearchPath" ><A NAME="v%3AparseSearchPath" ></A ></A ><B >parseSearchPath</B > :: <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%3AFilePath" >FilePath</A >]</TD ></TR ><TR ><TD CLASS="doc" >The function splits the given string to substrings using the <TT ><A HREF="../filepath-1.1.0.4/System-FilePath-Posix.html#v%3AsearchPathSeparator" >searchPathSeparator</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Direction" ><A NAME="t%3ADirection" ></A ></A ><B >Direction</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:Forwards" ><A NAME="v%3AForwards" ></A ></A ><B >Forwards</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Backwards" ><A NAME="v%3ABackwards" ></A ></A ><B >Backwards</B ></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:reslash" ><A NAME="v%3Areslash" ></A ></A ><B >reslash</B > :: <A HREF="Util.html#t%3ADirection" >Direction</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="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 >