| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
GHC.Driver.Phases
Synopsis
- data Phase
 - happensBefore :: Platform -> Phase -> Phase -> Bool
 - eqPhase :: Phase -> Phase -> Bool
 - isStopLn :: Phase -> Bool
 - startPhase :: String -> Phase
 - phaseInputExt :: Phase -> String
 - data StopPhase
- = StopPreprocess
 - | StopC
 - | StopAs
 - | NoStop
 
 - stopPhaseToPhase :: StopPhase -> Phase
 - isHaskellishSuffix :: String -> Bool
 - isHaskellSrcSuffix :: String -> Bool
 - isBackpackishSuffix :: String -> Bool
 - isObjectSuffix :: Platform -> String -> Bool
 - isCishSuffix :: String -> Bool
 - isDynLibSuffix :: Platform -> String -> Bool
 - isHaskellUserSrcSuffix :: String -> Bool
 - isHaskellSigSuffix :: String -> Bool
 - isSourceSuffix :: String -> Bool
 - isHaskellishTarget :: (String, Maybe Phase) -> Bool
 - isHaskellishFilename :: FilePath -> Bool
 - isHaskellSrcFilename :: FilePath -> Bool
 - isHaskellSigFilename :: FilePath -> Bool
 - isObjectFilename :: Platform -> FilePath -> Bool
 - isCishFilename :: FilePath -> Bool
 - isDynLibFilename :: Platform -> FilePath -> Bool
 - isHaskellUserSrcFilename :: FilePath -> Bool
 - isSourceFilename :: FilePath -> Bool
 - phaseForeignLanguage :: Phase -> Maybe ForeignSrcLang
 
Documentation
Untyped Phase description
Constructors
| Unlit HscSource | |
| Cpp HscSource | |
| HsPp HscSource | |
| Hsc HscSource | |
| Ccxx | |
| Cc | |
| Cobjc | |
| Cobjcxx | |
| HCc | |
| As Bool | |
| LlvmOpt | |
| LlvmLlc | |
| LlvmMangle | |
| CmmCpp | |
| Cmm | |
| MergeForeign | |
| Js | |
| StopLn | 
startPhase :: String -> Phase Source #
phaseInputExt :: Phase -> String Source #
stopPhaseToPhase :: StopPhase -> Phase Source #
isHaskellishSuffix :: String -> Bool Source #
isHaskellSrcSuffix :: String -> Bool Source #
isBackpackishSuffix :: String -> Bool Source #
isCishSuffix :: String -> Bool Source #
isHaskellUserSrcSuffix :: String -> Bool Source #
isHaskellSigSuffix :: String -> Bool Source #
isSourceSuffix :: String -> Bool Source #
isHaskellishTarget :: (String, Maybe Phase) -> Bool Source #
When we are given files (modified by -x arguments) we need to determine if they are Haskellish or not to figure out how we should try to compile it. The rules are:
- If no -x flag was specified, we check to see if the file looks like a module name, has no extension, or has a Haskell source extension.
 - If an -x flag was specified, we just make sure the specified suffix is a Haskell one.
 
isHaskellishFilename :: FilePath -> Bool Source #
isHaskellSrcFilename :: FilePath -> Bool Source #
isHaskellSigFilename :: FilePath -> Bool Source #
isCishFilename :: FilePath -> Bool Source #
isSourceFilename :: FilePath -> Bool Source #
phaseForeignLanguage :: Phase -> Maybe ForeignSrcLang Source #
Foreign language of the phase if the phase deals with a foreign code