Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 040b01fd062be0d3984f68287bae0bc8 > files > 178

ghc-Cabal-devel-1.8.0.6-8.6.fc14.i686.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
>Distribution.Simple.Utils</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_Distribution-Simple-Utils.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"
>Cabal-1.8.0.6: A framework for packaging Haskell software</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"
>Distribution.Simple.Utils</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Portability</TD
><TD CLASS="infoval"
>portable</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>cabal-devel@haskell.org</TD
></TR
></TABLE
></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"
>logging and errors
</A
></DT
><DT
><A HREF="#2"
>running programs
</A
></DT
><DT
><A HREF="#3"
>copying files
</A
></DT
><DT
><A HREF="#4"
>installing files
</A
></DT
><DT
><A HREF="#5"
>file names
</A
></DT
><DT
><A HREF="#6"
>finding files
</A
></DT
><DT
><A HREF="#7"
>simple file globbing
</A
></DT
><DT
><A HREF="#8"
>temp files and dirs
</A
></DT
><DT
><A HREF="#9"
>.cabal and .buildinfo files
</A
></DT
><DT
><A HREF="#10"
>reading and writing files safely
</A
></DT
><DT
><A HREF="#11"
>Unicode
</A
></DT
><DT
><A HREF="#12"
>generic utils
</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"
>A large and somewhat miscellaneous collection of utility functions used
 throughout the rest of the Cabal lib and in other tools that use the Cabal
 lib like <TT
>cabal-install</TT
>. It has a very simple set of logging actions. It
 has low level functions for running programs, a bunch of wrappers for
 various directory and file functions that do extra logging.
</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%3AcabalVersion"
>cabalVersion</A
> :: <A HREF="Distribution-Version.html#t%3AVersion"
>Version</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcabalBootstrapping"
>cabalBootstrapping</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%3Adie"
>die</A
> ::  <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdieWithLocation"
>dieWithLocation</A
> ::  <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtopHandler"
>topHandler</A
> ::  <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Awarn"
>warn</A
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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%3Anotice"
>notice</A
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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%3AsetupMessage"
>setupMessage</A
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Distribution-Package.html#t%3APackageIdentifier"
>PackageIdentifier</A
> -&gt; <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%3Ainfo"
>info</A
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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%3Adebug"
>debug</A
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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%3AchattyTry"
>chattyTry</A
> :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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
> -&gt; <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%3ArawSystemExit"
>rawSystemExit</A
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; <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%3ArawSystemStdout"
>rawSystemStdout</A
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</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%3ArawSystemStdInOut"
>rawSystemStdInOut</A
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</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
>) -&gt; <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</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/System-Exit.html#t%3AExitCode"
>ExitCode</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmaybeExit"
>maybeExit</A
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../base-4.2.0.2/System-Exit.html#t%3AExitCode"
>ExitCode</A
> -&gt; <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%3Axargs"
>xargs</A
> :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; ([<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; <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
>) -&gt; [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; <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%3AfindProgramLocation"
>findProgramLocation</A
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfindProgramVersion"
>findProgramVersion</A
> :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; (<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>) -&gt; <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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="Distribution-Version.html#t%3AVersion"
>Version</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsmartCopySources"
>smartCopySources</A
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>] -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; [<A HREF="Distribution-ModuleName.html#t%3AModuleName"
>ModuleName</A
>] -&gt; [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; <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%3AcreateDirectoryIfMissingVerbose"
>createDirectoryIfMissingVerbose</A
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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%3AcopyFileVerbose"
>copyFileVerbose</A
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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%3AcopyDirectoryRecursiveVerbose"
>copyDirectoryRecursiveVerbose</A
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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%3AcopyFiles"
>copyFiles</A
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; [(<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
>)] -&gt; <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%3AinstallOrdinaryFile"
>installOrdinaryFile</A
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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%3AinstallExecutableFile"
>installExecutableFile</A
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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%3AinstallOrdinaryFiles"
>installOrdinaryFiles</A
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; [(<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
>)] -&gt; <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%3AinstallDirectoryContents"
>installDirectoryContents</A
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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%3AcurrentDir"
>currentDir</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"
><A HREF="#v%3AfindFile"
>findFile</A
> :: [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>] -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</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"
><A HREF="#v%3AfindFileWithExtension"
>findFileWithExtension</A
> :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>] -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfindFileWithExtension%27"
>findFileWithExtension'</A
> :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>] -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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="../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="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfindModuleFile"
>findModuleFile</A
> :: [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>] -&gt; [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; <A HREF="Distribution-ModuleName.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</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="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfindModuleFiles"
>findModuleFiles</A
> :: [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>] -&gt; [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; [<A HREF="Distribution-ModuleName.html#t%3AModuleName"
>ModuleName</A
>] -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</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="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetDirectoryContentsRecursive"
>getDirectoryContentsRecursive</A
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</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"
><A HREF="#v%3AmatchFileGlob"
>matchFileGlob</A
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</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"
><A HREF="#v%3AmatchDirFileGlob"
>matchDirFileGlob</A
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</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"
><A HREF="#v%3AparseFileGlob"
>parseFileGlob</A
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="Distribution-Simple-Utils.html#t%3AFileGlob"
>FileGlob</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%3AFileGlob"
>FileGlob</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ANoGlob"
>NoGlob</A
> <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AFileGlob"
>FileGlob</A
> <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithTempFile"
>withTempFile</A
> ::  <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; (<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/GHC-IO-Handle.html#t%3AHandle"
>Handle</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a) -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithTempDirectory"
>withTempDirectory</A
> ::  <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; (<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a) -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdefaultPackageDesc"
>defaultPackageDesc</A
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</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"
><A HREF="#v%3AfindPackageDesc"
>findPackageDesc</A
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</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"
><A HREF="#v%3AdefaultHookedPackageDesc"
>defaultHookedPackageDesc</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="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfindHookedPackageDesc"
>findHookedPackageDesc</A
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithFileContents"
>withFileContents</A
> ::  <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; (<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a) -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteFileAtomic"
>writeFileAtomic</A
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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%3ArewriteFile"
>rewriteFile</A
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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%3AfromUTF8"
>fromUTF8</A
> :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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%3AtoUTF8"
>toUTF8</A
> :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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%3AreadUTF8File"
>readUTF8File</A
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</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%3AwithUTF8FileContents"
>withUTF8FileContents</A
> ::  <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; (<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a) -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteUTF8File"
>writeUTF8File</A
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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%3AnormaliseLineEndings"
>normaliseLineEndings</A
> :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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%3Aequating"
>equating</A
> :: <A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> a =&gt; (b -&gt; a) -&gt; b -&gt; b -&gt; <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%3Acomparing"
>comparing</A
> :: <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> a =&gt; (b -&gt; a) -&gt; b -&gt; b -&gt; <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%3AisInfixOf"
>isInfixOf</A
> :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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%3Aintercalate"
>intercalate</A
> ::  [a] -&gt; [[a]] -&gt; [a]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Alowercase"
>lowercase</A
> :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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%3AwrapText"
>wrapText</A
> :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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%3AwrapLine"
>wrapLine</A
> :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; [[<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>]]</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Documentation</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:cabalVersion"
><A NAME="v%3AcabalVersion"
></A
></A
><B
>cabalVersion</B
> :: <A HREF="Distribution-Version.html#t%3AVersion"
>Version</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:cabalBootstrapping"
><A NAME="v%3AcabalBootstrapping"
></A
></A
><B
>cabalBootstrapping</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="1"
><A NAME="1"
>logging and errors
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:die"
><A NAME="v%3Adie"
></A
></A
><B
>die</B
> ::  <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:dieWithLocation"
><A NAME="v%3AdieWithLocation"
></A
></A
><B
>dieWithLocation</B
> ::  <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:topHandler"
><A NAME="v%3AtopHandler"
></A
></A
><B
>topHandler</B
> ::  <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:warn"
><A NAME="v%3Awarn"
></A
></A
><B
>warn</B
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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="doc"
><P
>Non fatal conditions that may be indicative of an error or problem.
</P
><P
>We display these at the <TT
><A HREF="Distribution-Verbosity.html#v%3Anormal"
>normal</A
></TT
> verbosity level.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:notice"
><A NAME="v%3Anotice"
></A
></A
><B
>notice</B
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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="doc"
><P
>Useful status messages.
</P
><P
>We display these at the <TT
><A HREF="Distribution-Verbosity.html#v%3Anormal"
>normal</A
></TT
> verbosity level.
</P
><P
>This is for the ordinary helpful status messages that users see. Just
 enough information to know that things are working but not floods of detail.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:setupMessage"
><A NAME="v%3AsetupMessage"
></A
></A
><B
>setupMessage</B
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Distribution-Package.html#t%3APackageIdentifier"
>PackageIdentifier</A
> -&gt; <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:info"
><A NAME="v%3Ainfo"
></A
></A
><B
>info</B
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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="doc"
><P
>More detail on the operation of some action.
</P
><P
>We display these messages when the verbosity level is <TT
><A HREF="Distribution-Verbosity.html#v%3Averbose"
>verbose</A
></TT
>
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:debug"
><A NAME="v%3Adebug"
></A
></A
><B
>debug</B
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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="doc"
><P
>Detailed internal debugging information
</P
><P
>We display these messages when the verbosity level is <TT
><A HREF="Distribution-Verbosity.html#v%3Adeafening"
>deafening</A
></TT
>
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:chattyTry"
><A NAME="v%3AchattyTry"
></A
></A
><B
>chattyTry</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>a description of the action we were attempting
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <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
><TD CLASS="rdoc"
>the action itself
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <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
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
>Perform an IO action, catching any IO exceptions and printing an error
   if one occurs.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="2"
><A NAME="2"
>running programs
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:rawSystemExit"
><A NAME="v%3ArawSystemExit"
></A
></A
><B
>rawSystemExit</B
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; <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:rawSystemStdout"
><A NAME="v%3ArawSystemStdout"
></A
></A
><B
>rawSystemStdout</B
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Run a command and return its output.
</P
><P
>The output is assumed to be text in the locale encoding.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:rawSystemStdInOut"
><A NAME="v%3ArawSystemStdInOut"
></A
></A
><B
>rawSystemStdInOut</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>-&gt; [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</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
><TD CLASS="rdoc"
>input text and binary mode
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="rdoc"
>output in binary mode
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</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/System-Exit.html#t%3AExitCode"
>ExitCode</A
>)</TD
><TD CLASS="rdoc"
>output, errors, exit
</TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
>Run a command and return its output, errors and exit status. Optionally
 also supply some input. Also provides control over whether the binary/text
 mode of the input and output.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:maybeExit"
><A NAME="v%3AmaybeExit"
></A
></A
><B
>maybeExit</B
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../base-4.2.0.2/System-Exit.html#t%3AExitCode"
>ExitCode</A
> -&gt; <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:xargs"
><A NAME="v%3Axargs"
></A
></A
><B
>xargs</B
> :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; ([<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; <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
>) -&gt; [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; <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="doc"
><P
>Like the unix xargs program. Useful for when we've got very long command
 lines that might overflow an OS limit on command line length and so you
 need to invoke a command multiple times to get all the args in.
</P
><P
>Use it with either of the rawSystem variants above. For example:
</P
><PRE
> xargs (32*1024) (rawSystemExit verbosity) prog fixedArgs bigArgs
</PRE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:findProgramLocation"
><A NAME="v%3AfindProgramLocation"
></A
></A
><B
>findProgramLocation</B
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>)</TD
></TR
><TR
><TD CLASS="doc"
>Look for a program on the path.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:findProgramVersion"
><A NAME="v%3AfindProgramVersion"
></A
></A
><B
>findProgramVersion</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>version args
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>function to select version
   number from program output
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
>location
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <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="Distribution-Version.html#t%3AVersion"
>Version</A
>)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
>Look for a program and try to find it's version number. It can accept
 either an absolute path or the name of a program binary, in which case we
 will look for the program on the path.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="3"
><A NAME="3"
>copying files
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:smartCopySources"
><A NAME="v%3AsmartCopySources"
></A
></A
><B
>smartCopySources</B
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>] -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; [<A HREF="Distribution-ModuleName.html#t%3AModuleName"
>ModuleName</A
>] -&gt; [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; <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:createDirectoryIfMissingVerbose"
><A NAME="v%3AcreateDirectoryIfMissingVerbose"
></A
></A
><B
>createDirectoryIfMissingVerbose</B
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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="doc"
>Same as <TT
><A HREF="../directory-1.0.1.1/System-Directory.html#v%3AcreateDirectoryIfMissing"
>createDirectoryIfMissing</A
></TT
> but logs at higher verbosity levels.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:copyFileVerbose"
><A NAME="v%3AcopyFileVerbose"
></A
></A
><B
>copyFileVerbose</B
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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="doc"
><P
>Copies a file without copying file permissions. The target file is created
 with default permissions. Any existing target file is replaced.
</P
><P
>At higher verbosity levels it logs an info message.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:copyDirectoryRecursiveVerbose"
><A NAME="v%3AcopyDirectoryRecursiveVerbose"
></A
></A
><B
>copyDirectoryRecursiveVerbose</B
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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:copyFiles"
><A NAME="v%3AcopyFiles"
></A
></A
><B
>copyFiles</B
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; [(<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
>)] -&gt; <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="doc"
><P
>Copies a bunch of files to a target directory, preserving the directory
 structure in the target location. The target directories are created if they
 do not exist.
</P
><P
>The files are identified by a pair of base directory and a path relative to
 that base. It is only the relative part that is preserved in the
 destination.
</P
><P
>For example:
</P
><PRE
> copyFiles normal &quot;dist/src&quot;
    [(&quot;&quot;, &quot;src/Foo.hs&quot;), (&quot;dist/build/&quot;, &quot;src/Bar.hs&quot;)]
</PRE
><P
>This would copy &quot;src/Foo.hs&quot; to &quot;dist/src/src/Foo.hs&quot; and
 copy &quot;dist/build/src/Bar.hs&quot; to &quot;dist/src/src/Bar.hs&quot;.
</P
><P
>This operation is not atomic. Any IO failure during the copy (including any
 missing source files) leaves the target in an unknown state so it is best to
 use it with a freshly created directory so that it can be simply deleted if
 anything goes wrong.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="4"
><A NAME="4"
>installing files
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:installOrdinaryFile"
><A NAME="v%3AinstallOrdinaryFile"
></A
></A
><B
>installOrdinaryFile</B
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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="doc"
>Install an ordinary file. This is like a file copy but the permissions
 are set appropriately for an installed file. On Unix it is &quot;-rw-r--r--&quot;
 while on Windows it uses the default permissions for the target directory.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:installExecutableFile"
><A NAME="v%3AinstallExecutableFile"
></A
></A
><B
>installExecutableFile</B
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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="doc"
>Install an executable file. This is like a file copy but the permissions
 are set appropriately for an installed file. On Unix it is &quot;-rwxr-xr-x&quot;
 while on Windows it uses the default permissions for the target directory.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:installOrdinaryFiles"
><A NAME="v%3AinstallOrdinaryFiles"
></A
></A
><B
>installOrdinaryFiles</B
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; [(<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
>)] -&gt; <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="doc"
>This is like <TT
><A HREF="Distribution-Simple-Utils.html#v%3AcopyFiles"
>copyFiles</A
></TT
> but uses <TT
><A HREF="Distribution-Simple-Utils.html#v%3AinstallOrdinaryFile"
>installOrdinaryFile</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:installDirectoryContents"
><A NAME="v%3AinstallDirectoryContents"
></A
></A
><B
>installDirectoryContents</B
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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="doc"
>This installs all the files in a directory to a target location,
 preserving the directory layout. All the files are assumed to be ordinary
 rather than executable files.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="5"
><A NAME="5"
>file names
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:currentDir"
><A NAME="v%3AcurrentDir"
></A
></A
><B
>currentDir</B
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="doc"
>The path name that represents the current directory.
 In Unix, it's <TT
>&quot;.&quot;</TT
>, but this is system-specific.
 (E.g. AmigaOS uses the empty string <TT
>&quot;&quot;</TT
> for the current directory.)
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="6"
><A NAME="6"
>finding files
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:findFile"
><A NAME="v%3AfindFile"
></A
></A
><B
>findFile</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
><TD CLASS="rdoc"
>search locations
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
>File Name
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
>Find a file by looking in a search path. The file path must match exactly.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:findFileWithExtension"
><A NAME="v%3AfindFileWithExtension"
></A
></A
><B
>findFileWithExtension</B
> :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>] -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>)</TD
></TR
><TR
><TD CLASS="doc"
>Find a file by looking in a search path with one of a list of possible
 file extensions. The file base name should be given and it will be tried
 with each of the extensions in each element of the search path.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:findFileWithExtension'"
><A NAME="v%3AfindFileWithExtension%27"
></A
></A
><B
>findFileWithExtension'</B
> :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>] -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <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="../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="doc"
>Like <TT
><A HREF="Distribution-Simple-Utils.html#v%3AfindFileWithExtension"
>findFileWithExtension</A
></TT
> but returns which element of the search path
 the file was found in, and the file path relative to that base directory.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:findModuleFile"
><A NAME="v%3AfindModuleFile"
></A
></A
><B
>findModuleFile</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
><TD CLASS="rdoc"
>build prefix (location of objects)
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
>search suffixes
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="Distribution-ModuleName.html#t%3AModuleName"
>ModuleName</A
></TD
><TD CLASS="rdoc"
>module
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</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
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
><P
>Find the file corresponding to a Haskell module name.
</P
><P
>This is similar to <TT
><A HREF="Distribution-Simple-Utils.html#v%3AfindFileWithExtension%27"
>findFileWithExtension'</A
></TT
> but specialised to a module
 name. The function fails if the file corresponding to the module is missing.
</P
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:findModuleFiles"
><A NAME="v%3AfindModuleFiles"
></A
></A
><B
>findModuleFiles</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
><TD CLASS="rdoc"
>build prefix (location of objects)
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>]</TD
><TD CLASS="rdoc"
>search suffixes
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; [<A HREF="Distribution-ModuleName.html#t%3AModuleName"
>ModuleName</A
>]</TD
><TD CLASS="rdoc"
>modules
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</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
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
><P
>Finds the files corresponding to a list of Haskell module names.
</P
><P
>As <TT
><A HREF="Distribution-Simple-Utils.html#v%3AfindModuleFile"
>findModuleFile</A
></TT
> but for a list of module names.
</P
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getDirectoryContentsRecursive"
><A NAME="v%3AgetDirectoryContentsRecursive"
></A
></A
><B
>getDirectoryContentsRecursive</B
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>]</TD
></TR
><TR
><TD CLASS="doc"
><P
>List all the files in a directory and all subdirectories.
</P
><P
>The order places files in sub-directories after all the files in their
 parent directories. The list is generated lazily so is not well defined if
 the source directory structure changes before the list is used.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="7"
><A NAME="7"
>simple file globbing
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:matchFileGlob"
><A NAME="v%3AmatchFileGlob"
></A
></A
><B
>matchFileGlob</B
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</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="decl"
><A NAME="v:matchDirFileGlob"
><A NAME="v%3AmatchDirFileGlob"
></A
></A
><B
>matchDirFileGlob</B
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</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="decl"
><A NAME="v:parseFileGlob"
><A NAME="v%3AparseFileGlob"
></A
></A
><B
>parseFileGlob</B
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="Distribution-Simple-Utils.html#t%3AFileGlob"
>FileGlob</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:FileGlob"
><A NAME="t%3AFileGlob"
></A
></A
><B
>FileGlob</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:NoGlob"
><A NAME="v%3ANoGlob"
></A
></A
><B
>NoGlob</B
> <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
>No glob at all, just an ordinary file
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:FileGlob"
><A NAME="v%3AFileGlob"
></A
></A
><B
>FileGlob</B
> <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>dir prefix and extension, like <TT
>&quot;foo/bar/*.baz&quot;</TT
> corresponds to
    <TT
>FileGlob &quot;foo/bar&quot; &quot;.baz&quot;</TT
>
</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="8"
><A NAME="8"
>temp files and dirs
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:withTempFile"
><A NAME="v%3AwithTempFile"
></A
></A
><B
>withTempFile</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
>Temp dir to create the file in
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>File name template. See <TT
><A HREF="../base-4.2.0.2/System-IO.html#v%3AopenTempFile"
>openTempFile</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/GHC-IO-Handle.html#t%3AHandle"
>Handle</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
>Use a temporary filename that doesn't already exist.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:withTempDirectory"
><A NAME="v%3AwithTempDirectory"
></A
></A
><B
>withTempDirectory</B
> ::  <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; (<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a) -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a</TD
></TR
><TR
><TD CLASS="doc"
><P
>Create and use a temporary directory.
</P
><P
>Creates a new temporary directory inside the given directory, making use
 of the template. The temp directory is deleted after use. For example:
</P
><PRE
> withTempDirectory verbosity &quot;src&quot; &quot;sdist.&quot; $ \tmpDir -&gt; do ...
</PRE
><P
>The <TT
>tmpDir</TT
> will be a new subdirectory of the given directory, e.g.
 <TT
>src/sdist.342</TT
>.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="9"
><A NAME="9"
>.cabal and .buildinfo files
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:defaultPackageDesc"
><A NAME="v%3AdefaultPackageDesc"
></A
></A
><B
>defaultPackageDesc</B
> :: <A HREF="Distribution-Verbosity.html#t%3AVerbosity"
>Verbosity</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="doc"
>Package description file (<EM
>pkgname</EM
><TT
>.cabal</TT
>)
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:findPackageDesc"
><A NAME="v%3AfindPackageDesc"
></A
></A
><B
>findPackageDesc</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
>Where to look
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
><A HREF="pkgname"
>pkgname</A
>.cabal
</TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
>Find a package description file in the given directory.  Looks for
 <TT
>.cabal</TT
> files.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:defaultHookedPackageDesc"
><A NAME="v%3AdefaultHookedPackageDesc"
></A
></A
><B
>defaultHookedPackageDesc</B
> :: <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="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>)</TD
></TR
><TR
><TD CLASS="doc"
>Optional auxiliary package information file (<EM
>pkgname</EM
><TT
>.buildinfo</TT
>)
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:findHookedPackageDesc"
><A NAME="v%3AfindHookedPackageDesc"
></A
></A
><B
>findHookedPackageDesc</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
>Directory to search
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <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="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
>)</TD
><TD CLASS="rdoc"
><EM
>dir</EM
><TT
>/</TT
><EM
>pkgname</EM
><TT
>.buildinfo</TT
>, if present
</TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
>Find auxiliary package information in the given directory.
 Looks for <TT
>.buildinfo</TT
> files.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="10"
><A NAME="10"
>reading and writing files safely
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:withFileContents"
><A NAME="v%3AwithFileContents"
></A
></A
><B
>withFileContents</B
> ::  <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; (<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a) -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a</TD
></TR
><TR
><TD CLASS="doc"
><P
>Gets the contents of a file, but guarantee that it gets closed.
</P
><P
>The file is read lazily but if it is not fully consumed by the action then
 the remaining input is truncated and the file is closed.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeFileAtomic"
><A NAME="v%3AwriteFileAtomic"
></A
></A
><B
>writeFileAtomic</B
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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="doc"
><P
>Writes a file atomically.
</P
><P
>The file is either written sucessfully or an IO exception is raised and
 the original file is left unchanged.
</P
><P
>On windows it is not possible to delete a file that is open by a process.
 This case will give an IO exception but the atomic property is not affected.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:rewriteFile"
><A NAME="v%3ArewriteFile"
></A
></A
><B
>rewriteFile</B
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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="doc"
>Write a file but only if it would have new content. If we would be writing
 the same as the existing content then leave the file as is so that we do not
 update the file's modification time.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="11"
><A NAME="11"
>Unicode
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:fromUTF8"
><A NAME="v%3AfromUTF8"
></A
></A
><B
>fromUTF8</B
> :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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:toUTF8"
><A NAME="v%3AtoUTF8"
></A
></A
><B
>toUTF8</B
> :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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:readUTF8File"
><A NAME="v%3AreadUTF8File"
></A
></A
><B
>readUTF8File</B
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Reads a UTF8 encoded text file as a Unicode String
</P
><P
>Reads lazily using ordinary <TT
><A HREF="../base-4.2.0.2/System-IO.html#v%3AreadFile"
>readFile</A
></TT
>.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:withUTF8FileContents"
><A NAME="v%3AwithUTF8FileContents"
></A
></A
><B
>withUTF8FileContents</B
> ::  <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; (<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a) -&gt; <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a</TD
></TR
><TR
><TD CLASS="doc"
><P
>Reads a UTF8 encoded text file as a Unicode String
</P
><P
>Same behaviour as <TT
><A HREF="Distribution-Simple-Utils.html#v%3AwithFileContents"
>withFileContents</A
></TT
>.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeUTF8File"
><A NAME="v%3AwriteUTF8File"
></A
></A
><B
>writeUTF8File</B
> :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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="doc"
><P
>Writes a Unicode String as a UTF8 encoded text file.
</P
><P
>Uses <TT
><A HREF="Distribution-Simple-Utils.html#v%3AwriteFileAtomic"
>writeFileAtomic</A
></TT
>, so provides the same guarantees.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:normaliseLineEndings"
><A NAME="v%3AnormaliseLineEndings"
></A
></A
><B
>normaliseLineEndings</B
> :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="doc"
>Fix different systems silly line ending conventions
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="12"
><A NAME="12"
>generic utils
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:equating"
><A NAME="v%3Aequating"
></A
></A
><B
>equating</B
> :: <A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> a =&gt; (b -&gt; a) -&gt; b -&gt; b -&gt; <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:comparing"
><A NAME="v%3Acomparing"
></A
></A
><B
>comparing</B
> :: <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> a =&gt; (b -&gt; a) -&gt; b -&gt; b -&gt; <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:isInfixOf"
><A NAME="v%3AisInfixOf"
></A
></A
><B
>isInfixOf</B
> :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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:intercalate"
><A NAME="v%3Aintercalate"
></A
></A
><B
>intercalate</B
> ::  [a] -&gt; [[a]] -&gt; [a]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:lowercase"
><A NAME="v%3Alowercase"
></A
></A
><B
>lowercase</B
> :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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:wrapText"
><A NAME="v%3AwrapText"
></A
></A
><B
>wrapText</B
> :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="doc"
>Wraps text to the default line width. Existing newlines are preserved.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:wrapLine"
><A NAME="v%3AwrapLine"
></A
></A
><B
>wrapLine</B
> :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>] -&gt; [[<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
>]]</TD
></TR
><TR
><TD CLASS="doc"
>Wraps a list of words to a list of lines of words of a particular width.
</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
>