|
Distribution.PreProcess | Portability | portable | Stability | alpha | Maintainer | Isaac Jones <ijones@syntaxpolice.org> |
|
|
|
|
|
Description |
|
|
Synopsis |
|
|
|
Documentation |
|
preprocessSources |
|
|
knownSuffixHandlers :: [PPSuffixHandler] |
Standard preprocessors: GreenCard, c2hs, hsc2hs, happy, alex and cpphs.
|
|
ppSuffixes :: [PPSuffixHandler] -> [String] |
Convenience function; get the suffixes of these preprocessors.
|
|
type PPSuffixHandler = (String, BuildInfo -> LocalBuildInfo -> PreProcessor) |
A preprocessor for turning non-Haskell files with the given extension
into plain Haskell source files.
|
|
type PreProcessor = FilePath -> FilePath -> Int -> IO ExitCode |
The interface to a preprocessor, which may be implemented using an
external program, but need not be. The arguments are the name of
the input file, the name of the output file and a verbosity level.
Here is a simple example that merely prepends a comment to the given
source file:
ppTestHandler :: PreProcessor
ppTestHandler inFile outFile verbose
= do when (verbose > 0) $
putStrLn (inFile++" has been preprocessed to "++outFile)
stuff <- readFile inFile
writeFile outFile ("-- preprocessed as a test\n\n" ++ stuff)
return ExitSuccess
|
|
removePreprocessed |
:: [FilePath] | search Location
| -> [String] | Modules
| -> [String] | suffixes
| -> IO () | | Remove the preprocessed .hs files. (do we need to get some .lhs files too?)
|
|
|
removePreprocessedPackage |
|
|
ppCpp :: BuildInfo -> LocalBuildInfo -> PreProcessor |
|
ppCpp' :: [String] -> BuildInfo -> LocalBuildInfo -> PreProcessor |
|
ppGreenCard :: BuildInfo -> LocalBuildInfo -> PreProcessor |
|
ppC2hs :: BuildInfo -> LocalBuildInfo -> PreProcessor |
|
ppHsc2hs :: BuildInfo -> LocalBuildInfo -> PreProcessor |
|
ppHappy :: BuildInfo -> LocalBuildInfo -> PreProcessor |
|
ppAlex :: BuildInfo -> LocalBuildInfo -> PreProcessor |
|
ppUnlit :: PreProcessor |
|
Produced by Haddock version 0.7 |