Safe Haskell | None |
---|---|
Language | GHC2021 |
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
- isHaskellBootSuffix :: 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
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 #
isHaskellBootSuffix :: 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