úÎ8…5‹2      !"#$%&'()*+,-./01 Safe-InferedThe possible types of a file. The type is unknown. The type is a directory. The type is a normal file.  Safe-InferedHA filter predicate that does not require effects to compute its result. A filter predicate takes a 2A and a file type and returns whether or not to filter the value. RConstruct a filter predicate that does not require effects to compute its result. A filter predicate takes a 21 and returns whether or not to filter the value. RConstruct a filter predicate that does not require effects to compute its result. 'Extract the filter predicate function. RConstruct a filter predicate that does not require effects to compute its result.      Safe-InferedIA recurse predicate that does not require effects to compute its result. A recurse predicate takes a 2@ and returns whether or not to continue recursing on that file. GConstruct a recurse predicate. The most general construction function. SConstruct a recurse predicate that does not require effects to compute its result. (Extract the recurse predicate function. \Extract the recurse predicate function that does not require effects to compute its result. 5Convert the recurse predicate to a filter predicate.  Safe-Infered5Functions that are common to predicates that work on 2 values. "A predicate that always succeeds. A predicate that always fails. KReturn a predicate that succeeds only if the two given predicates succeed. MReturn a predicate that succeeds if any of the two given predicates succeed. Negates the given predicate. EA predicate that computes its result based on a file name extension. ;A predicate that computes its result based on a directory. !A predicate that succeeds if its 2 has an extension. !A predicate that succeeds if its 2 does not have an extension. UA predicate that computes its result based on the splitting of a name and extension. !XA predicate that computes its result based on the splitting of a name into directories. "!A predicate that succeeds if its 2 has a trailing path separator. #!A predicate that succeeds if its 2* does not have a trailing path separator. $=A predicate that computes its result based on the file name. %=A predicate that computes its result based on the base name. &HA predicate that computes its result based on the normalised file name. 'TA predicate that computes its result based on the file name having been made valid. (!A predicate that succeeds if its 2 is relative. )!A predicate that succeeds if its 2 is not relative. *!A predicate that succeeds if its 2 is absolute. +!A predicate that succeeds if its 2 is not absolute. ,!A predicate that succeeds if its 2 is valid. -!A predicate that succeeds if its 2 is not valid.  !"#$%&'()*+,-34 !"#$%&'()*+,- !"#$%&'()*+,- !"#$%&'()*+,-34 Safe-Infered."A type-class for lifting a value. E This type-class probably belongs elsewhere (pointers appreciated!). ./56./././56 Safe-Infered0_Finds all files using the given recurse predicate and filter predicate in the given file path. 01789010101789 Safe-Infered2  !"#$%&'()*+,-./01:      !"#$%&'()*+,-./0123456789:;<=>?@ABCDFilePather-0.1.3#System.FilePath.FilePather.FileType*System.FilePath.FilePather.FilterPredicate+System.FilePath.FilePather.RecursePredicate,System.FilePath.FilePather.FilePathPredicate System.FilePath.FilePather.LiftISystem.FilePath.FilePather.FindSystem.FilePath.FilePatherFileTypeUnknown DirectoryFile isFileTypeisDirectoryType isUnknownTypeFilterPredicateFilterPredicateTfilterPredicateTfilterPredicatefilterPredicateT'filterPredicate'runFilterPredicateTrunFilterPredicateRecursePredicateRecursePredicateTrecursePredicateTrecursePredicaterunRecursePredicateTrunRecursePredicatetoFilterPredicateFilePathPredicatealwaysnever.&&..||..!. extension directory hasExtensionnotHasExtensionsplitExtensionsplitDirectorieshasTrailingPathSeparatornotHasTrailingPathSeparatorfileNamebaseName normalise makeValid isRelative isNotRelative isAbsolute isNotAbsoluteisValid isNotValidLiftIliftIFindfindbaseGHC.IOFilePath#$fFilePathPredicateFilterPredicateT$$fFilePathPredicateRecursePredicateT$fLiftIFilterPredicateTBool$fLiftIRecursePredicateTBool$fFindIdentityT$fFindIO$fFindIdentity