|
| Language.Haskell.ChaseImports | | Portability | portable | | Stability | experimental | | Maintainer | joost.visser@di.uminho.pt |
|
|
|
|
|
| Description |
| This module implements import chasing for Haskell.
|
|
| Synopsis |
|
|
|
|
| Import chasing for Haskell |
|
| hsIOwrapChasingArgs |
| :: (FilePath, ModuleName, FilePath) | Path, module name, output directory | | -> (ModuleCollection -> IO ModuleCollection) | Transformation function | | -> IO () | | | Chase modules, given a searchpath and module name, apply a transformation
function, and write the resulting modules to a given output directory. |
|
|
| hsChaseFrom :: [FilePath] -> ModuleName -> IO ModuleCollection |
| Start chasing from a single module (wrapper). |
|
| hsChaseWith |
| :: [FilePath] | Directories to search | | -> [ModuleName] | Modules still to find (todo) | | -> [ModuleName] | Modules already found (done) | | -> a | Accumulator | | -> (ModuleEntry -> a -> IO a) | Action taken on modules found. | | -> (ModuleName -> a -> IO a) | Action taken on missing modules. | | -> IO a | | | Haskell import chase algorithm (worker). |
|
|
| hsChaseDownDirs |
| :: [FilePath] | Search path for import chasing | | -> [FilePath] | Directories to find top modules | | -> IO ModuleCollection | | | Start chasing from all haskell modules that can be found recursively
inside the given top directories. |
|
|
| Handle literate scripts |
|
| fromLiterate :: String -> String |
|
| isLit :: String -> Bool |
|
| fromLit :: Bool -> String -> String |
|
| toLit :: Bool -> String -> String |
|
| isLiterate :: String -> Bool |
|
| Haskell I-O Auxilliaries |
|
| parseWrap' :: String -> Either HsModule String |
| Parse a String as a Haskell module. Returns either the parsed module
or an error message. |
|
| findHsFiles :: [FilePath] -> IO [FilePath] |
| Find haskell files inside a list of directories |
|
| readHsFile :: [FilePath] -> ModuleName -> IO String |
| Read a Haskell file with given name from given path. |
|
| writeModule |
| :: FilePath | Output directory. | | -> ModuleEntry | Module to be written. | | -> IO () | | | Write a given module to file, in the given directory. |
|
|
| m2fname :: ModuleName -> FilePath |
| Transform a Haskel module name (containing dots) into a file name (containing slashes). |
|
| fname2m :: FilePath -> ModuleName |
| Transform a file name (containing slashes) into a Haskel module name (containing dots). |
|
| General I-O Auxilliaries |
|
| errLn :: String -> IO () |
| Report an error on stderr. |
|
| noBasename :: FilePath -> FilePath |
| Obtain the directory part of a file name. |
|
| noExtension :: FilePath -> FilePath |
| Obtain the file name without extension. |
|
| readFileSearching :: [FilePath] -> FilePath -> [String] -> IO String |
| Search for a file in given directories with alternative extensions |
|
| createDirectoryForced |
| :: FilePath | Directory in which to create the new directories | | -> FilePath | Directory to create (may contain slashes). | | -> IO () | | | Create a directory, and its parents if necessary. |
|
|
| breakFile :: FilePath -> [String] |
| break a file name into its segments, i.e. the pieces between slashes. |
|
| breakPath :: String -> [FilePath] |
| Break path argument into directory names. i.e. the pieces between colons. |
|
| breakWith :: (a -> Bool) -> [a] -> [[a]] |
| Break a list into segments, using a predicate on elements to indicate break points.
The break points themselves will be discarded. |
|
| testOnUMinhoHaskellLibrariesWithContrib :: IO ModuleCollection |
|
| Produced by Haddock version 0.6 |