|
ChaseImports | Portability | portable | Stability | experimental | Maintainer | Ralf Laemmel, Joost Visser |
|
|
|
|
|
Description |
This module is part of StrategyLib, a library of functional strategy
combinators, including combinators for generic traversal. This module
defines a generic algorithm for import chasing. This algorithm is not
strategic in nature itself, but usually it will be instantiated with
strategic functions for a particular object language. |
|
Synopsis |
|
|
|
|
Type synonym |
|
type ChaseName = String |
The type of names of chaseable things. Synonym of String. |
|
Generic import chasing |
|
chaseWith |
:: [FilePath] | path (list of directories to search) | -> [ChaseName] | todo (list of modules still to find) | -> [ChaseName] | done (list of modules already found) | -> accu | initial (start value of accumulator) | -> ([FilePath] -> ChaseName -> IO (Either cu String)) | parse (function that attempt to find and parse a module) | -> (cu -> [ChaseName]) | imports (function that extracts imports from
a parse result) | -> (ChaseName -> [ChaseName] -> cu -> accu -> IO accu) | on module (function that computes a new
accumulator from a parse result) | -> (ChaseName -> accu -> IO accu) | on missing (function that computes a new
accumulator value when parsing failed) | -> IO accu | result (accumulated value) | A generic import chasing function. The type of the final result is a
parameter, which will usually be instantiated to a list of parsed
modules. |
|
|
chaseFile |
:: [FilePath] | path (directories to search) | -> String | base name | -> [String] | possible extensions | -> IO String | contents of file | Read a file from a number of possible directories, given a
base name and a list of possible extensions. Returns the content
of the file it found. |
|
|
findFile |
:: [FilePath] | path (directories to search) | -> String | base name | -> [String] | possible extensions | -> IO FilePath | contents of file | Find a file in a number of possible directories, given a
base name and a list of possible extensions. Returns the full
name of the file it found. |
|
|
Produced by Haddock version 0.6 |