úÎNõK:      !"#$%&'()*+,-./0123456789-Unix-like systems (requires newtype deriving)unstable%Bryan O'Sullivan <bos@serpentine.com>A ;Monadic container for file information, allowing for clean ) construction of combinators. Wraps the :; monad, but doesn't  allow get or put. <= ;Information collected during the traversal of a directory.  file path current recursion depth status of file > Construct a   value. Run the given   on the given   and return its C result. This can be useful if you are writing a function to pass  to .  Example:   myFoldFunc :: a ->   -> a $ myFoldFunc a i = let useThisFile =  ( 1 "foo") i $ in if useThisFile ' then fiddleWith a  else a ?@Return the current  . +Return the name of the file being visited. $Return the current recursion depth.  Return the A for the current file. B;List the files in the given directory, sorted, and without "."  or "..". ?Search a directory recursively, with recursion controlled by a   ,. Lazily return a sorted list of all files  matching the given  . Any errors that occur are " dealt with by the given handler. error handler &control recursion into subdirectories ,decide whether a file appears in the result directory to start searching files that matched the   ?Search a directory recursively, with recursion controlled by a   ,. Lazily return a sorted list of all files  matching the given  . Any errors that occur are # ignored, with warnings printed to C. &control recursion into subdirectories ,decide whether a file appears in the result directory to start searching files that matched the   ?Search a directory recursively, with recursion controlled by a   /. Fold over all files found. Any errors that E occur are dealt with by the given handler. The fold is strict, and  run from "left" to "right"#, so the folded function should be B strict in its left argument to avoid space leaks. If you need a  right-to-left fold, use D on the result of   instead. error handler &control recursion into subdirectories function to fold with seed value for fold directory to start searching final value after folding ?Search a directory recursively, with recursion controlled by a   /. Fold over all files found. Any errors that - occur are ignored, with warnings printed to C . The fold  function is run from "left" to "right", so it should be strict ; in its left argument to avoid space leaks. If you need a  right-to-left fold, use D on the result of   instead. Unconditionally return E.  Return the file name extension.  Example:    "foo/bar.txt" => ".txt" 2Return the file name, without the directory name. What this means in practice:     "foo/bar.txt" => "bar.txt"  Example:    1 "init.c" 2Return the directory name, without the file name. What this means in practice:     "foo/bar.txt" => "foo" Example in a clause:   let hasSuffix = 0  isSuffixOf  in directory ` hasSuffix` "tests" FRun the given action in the G monad (using H) D if the current file is a symlink. Hide errors by wrapping results  in the I monad. /If the current file is a symbolic link, return J the target  of the link, otherwise K. /If the current file is a symbolic link, return J the status D of the ultimate endpoint of the link. Otherwise (including in the  case of an error), return K.  Example:   ! `liftM`  1   1Return the type of file currently being visited.  Example:     1  !>Return the type of a file. This is much more useful for case & analysis than the usual functions on A values. "#$%&'()*"Return the permission bits of the L. +Return E- if any of the given permission bits is set.  Example:   + 0444 ,-./Return E3 if the given path exists, relative to the current  file. For example, if "foo" is being visited, and you call  contains "bar", this combinator will return E if  "foo/bar" exists. 0 Lift a binary operator into the   monad, so that it D becomes a combinator. The left hand side of the combinator should  be a   a,, while the right remains a normal value of  type a. 1Return E if the current file's name matches the given   GlobPattern. 2345676This operator is useful to check if bits are set in a  L. 89:  !"#$%&'()*+,-./0123456789:  !0 /"#$%&'(),-.*+123456789:    !"#$%&'()*+,-./0123456789M      !"#$%&'()*+,-./0123456789:;<=;<=>?@ABCDEFGHIGJKLMNOLPQGRSGTUGTVGTWGXYZFileManipCompat-0.14System.FilePath.FindCompatFileTypeUnknownSocket SymbolicLink Directory RegularFile NamedPipeCharacterDevice BlockDeviceRecursionPredicateFilterPredicate FindClauseFileInfoinfoPath infoDepth infoStatus evalClausefileInfofilePathdepth fileStatusfindWithHandlerfindfoldWithHandlerfoldalways extensionfileName directoryreadLink followStatusfileType statusTypedeviceIDfileID fileOwner fileGroupfileSize linkCountspecialDeviceIDfileMode filePermsanyPerms accessTimemodificationTimestatusChangeTimecontainsliftOp==?/=?>?=?<=?.&.?&&?||? mtl-1.1.1.0Control.Monad.State.LazyStateFCrunFCmkFIevalFI mkFindClause unix-2.4.0.2System.Posix.Files FileStatusgetDirContentsbaseGHC.IO.Handle.FDstderrGHC.Basefoldrghc-primGHC.BoolTruewithLink GHC.TypesIOGHC.IOunsafePerformIO Data.MaybeMaybeJustNothingSystem.Posix.TypesFileMode