| |||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
| Synopsis | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
| Documentation | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| type Arg = String | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| hWrite :: Handle -> String -> IO () | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| writeFile for Handles | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| mkUnique :: IO FilePath | |||||||||||||||||||||||||||||||||||||||||||||||||||||
Get a new temp file, unique from those in tmp, and from those modules already loaded. Very nice for mergeeval uses. Will run for a long time if we can't create a temp file, luckily mkstemps gives us a pretty big search space | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| hMkUnique :: IO (FilePath, Handle) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| mkUniqueIn :: FilePath -> IO FilePath | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| hMkUniqueIn :: FilePath -> IO (FilePath, Handle) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| findFile :: [String] -> FilePath -> IO (Maybe FilePath) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| mkTemp :: IO (String, Handle) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| create a new temp file, returning name and handle. bit like the mktemp shell utility | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| mkTempIn :: String -> IO (String, Handle) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| replaceSuffix :: FilePath -> String -> FilePath | |||||||||||||||||||||||||||||||||||||||||||||||||||||
return the object file, given the .conf file i.e. homedonsfoo.rc -> homedonsfoo.o we depend on the suffix we are given having a lead '.' | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| outFilePath :: FilePath -> [Arg] -> (FilePath, FilePath) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| dropSuffix :: FilePath -> FilePath | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| mkModid :: String -> String | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| work out the mod name from a filepath | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| changeFileExt | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
| joinFileExt :: String -> String -> FilePath | |||||||||||||||||||||||||||||||||||||||||||||||||||||
The joinFileExt function is the opposite of splitFileExt. It joins a file name and an extension to form a complete file path. The general rule is: filename `joinFileExt` ext == path
where
(filename,ext) = splitFileExt path
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
| splitFileExt :: FilePath -> (String, String) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
Split the path into file name and extension. If the file doesn't have extension, the function will return empty string. The extension doesn't include a leading period. Examples: splitFileExt "foo.ext" == ("foo", "ext")
splitFileExt "foo" == ("foo", "")
splitFileExt "." == (".", "")
splitFileExt ".." == ("..", "")
splitFileExt "foo.bar."== ("foo.bar.", "")
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
| isSublistOf :: Eq a => [a] -> [a] -> Bool | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| dirname :: FilePath -> FilePath | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| dirname : return the directory portion of a file path if null, return . | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| basename :: FilePath -> FilePath | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| basename : return the filename portion of a path | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| (</>) :: FilePath -> FilePath -> FilePath | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| (<.>) :: FilePath -> FilePath -> FilePath | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| (<+>) :: FilePath -> FilePath -> FilePath | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| (<>) :: FilePath -> FilePath -> FilePath | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| newer :: FilePath -> FilePath -> IO Bool | |||||||||||||||||||||||||||||||||||||||||||||||||||||
is file1 newer than file2? needs some fixing to work with 6.0.x series. (is this true?) fileExist still seems to throw exceptions on some platforms: ia64 in particular. invarient : we already assume the first file, a, exists | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| encode :: String -> EncodedString | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| decode :: EncodedString -> String | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| type EncodedString = String | |||||||||||||||||||||||||||||||||||||||||||||||||||||
return the Z-Encoding of the string. Stolen from GHC. Use -package ghc as soon as possible | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| Produced by Haddock version 0.7 | |||||||||||||||||||||||||||||||||||||||||||||||||||||