Safe Haskell | None |
---|---|
Language | Haskell98 |
- type FileSuffMp = [(FileSuffix, FileSuffInitState, Bool)]
- emptyFileSuffMp :: FileSuffMp
- mkFileSuffMpHs :: EHCOpts -> FileSuffMp
- fileSuffMpHsNoSuff :: FileSuffMp
- data ImmediateQuitOption
- = ImmediateQuitOption_Help
- | ImmediateQuitOption_Version
- | ImmediateQuitOption_Meta_Variant
- | ImmediateQuitOption_Meta_Targets
- | ImmediateQuitOption_Meta_TargetDefault
- | ImmediateQuitOption_Meta_Optimizations
- | ImmediateQuitOption_Meta_Pkgdir_System
- | ImmediateQuitOption_Meta_Pkgdir_User
- | ImmediateQuitOption_VersionDotted
- | ImmediateQuitOption_VersionAsNumber
- data EhOpt
- data EHCOpts = EHCOpts {
- ehcOptTrace :: forall a. String -> a -> a
- ehcOptAspects :: String
- ehcOptShowHS :: Bool
- ehcOptShowEH :: Bool
- ehcOptEhOpts :: [EhOpt]
- ehcOptUnderDev :: Set UnderDev
- ehcOptPriv :: Bool
- ehcOptHsChecksInEH :: Bool
- ehcOptShowTopTyPP :: Bool
- ehcOptImmQuit :: Maybe ImmediateQuitOption
- ehcOptDebug :: Bool
- ehcStopAtPoint :: CompilePoint
- ehcOptPolyKinds :: Bool
- ehcOptExtensibleRecords :: Bool
- ehcOptMbTarget :: MaybeOk Target
- ehcOptMbTargetFlavor :: MaybeOk TargetFlavor
- ehcOptBangPatterns :: Bool
- ehcOptOptimizationLevel :: OptimizationLevel
- ehcOptOptimizationScope :: OptimizationScope
- ehcOptOptimizations :: OptimizeS
- ehcOptOptimizeOptionMp :: OptimizeOptionMp
- ehcOptDumpCoreStages :: Bool
- ehcOptCoreOpts :: [CoreOpt]
- ehcOptCoreRunOpts :: !(Set CoreRunOpt)
- ehcOptGenTrampoline_ :: Bool
- ehcOptGenTrace :: Bool
- ehcOptEmitHS :: Bool
- ehcOptEmitEH :: Bool
- ehcOptImportFileLocPath :: FileLocPath
- ehcOptVerbosity :: Verbosity
- ehcOptTraceOn :: !(Set TraceOn)
- ehcOptBuiltinNames :: EHBuiltinNames
- ehcOptEnvironment :: EHCEnvironment
- ehcCfgInstFldHaveSelf :: Bool
- ehcOptPrfCutOffAt :: Int
- ehcCfgClassViaRec :: Bool
- ehcOptTyBetaRedCutOffAt :: Int
- ehcDebugStopAtCoreError :: Bool
- ehcOptCheckRecompile :: Bool
- ehcDebugStopAtHIError :: Bool
- ehcOptLinkingStyle :: LinkingStyle
- ehcOptGenGenerics :: Bool
- ehcOptFusion :: Bool
- ehcOptAltDriver :: Bool
- ehcOptHiValidityCheck :: Bool
- ehcOptLibFileLocPath :: FileLocPath
- ehcOptPkgdirLocPath :: StringPath
- ehcOptPkgDb :: PackageDatabase
- ehcProgName :: FPath
- ehcCurDir :: String
- ehcOptUserDir :: String
- ehcOptMbOutputFile :: Maybe FPath
- ehcOptCPP :: Bool
- ehcOptUseAssumePrelude :: Bool
- ehcOptPackageSearchFilter :: [PackageSearchFilter]
- ehcOptOutputDir :: Maybe String
- ehcOptKeepIntermediateFiles :: Bool
- ehcOptPkgOpt :: Maybe PkgOption
- ehcOptCfgInstallRoot :: Maybe String
- ehcOptCfgInstallVariant :: Maybe String
- ehcOptCmdLineOpts :: CmdLineOpts
- ehcOptCmdLineOptsDoneViaPragma :: Bool
- ehcOptOverloadedStrings :: Bool
- ehcOptPgmExecMp :: Map PgmExec FilePath
- ehcOptExecOptsMp :: Map FilePath [ExecOpt]
- emptyEHCOpts :: EHCOpts
- ehcOptEhAstPP :: EHCOpts -> Bool
- ehcOptEhAstPPExtensive :: EHCOpts -> Bool
- ehcOptFromJust :: EHCOpts -> String -> a -> Maybe a -> a
- ehcOptIsUnderDev :: UnderDev -> EHCOpts -> Bool
- data InOrOutputFor
- data CoreOpt
- data CoreRunOpt = CoreRunOpt_PrintResult
- ehcOptEhPP :: EHCOpts -> Bool
- ehcOptTarget :: EHCOpts -> Target
- ehcOptTargetFlavor :: EHCOpts -> TargetFlavor
- ehcOptCoreSysF :: EHCOpts -> Bool
- ehcOptCoreSysFCheck :: EHCOpts -> Bool
- ehcOptCoreSysFGen :: EHCOpts -> Bool
- ehcOptCoreSysFCheckOnlyVal :: EHCOpts -> Bool
- ehcOptEmitExecBytecode :: EHCOpts -> Bool
- ehcOptEmitBytecode :: EHCOpts -> Bool
- ehcOptCmmCheck :: EHCOpts -> Bool
- ehcOptIsViaGrinCmmJavaScript :: EHCOpts -> Bool
- ehcOptIsViaCoreJavaScript :: EHCOpts -> Bool
- ehcOptIsViaCmm :: EHCOpts -> Bool
- ehcOptIsViaGrin :: EHCOpts -> Bool
- ehcOptBuiltin :: EHCOpts -> (EHBuiltinNames -> x) -> x
- ehcOptBuiltin2 :: EHCOpts -> (EHBuiltinNames -> Int -> HsName) -> Int -> HsName
- ehcOptDoExecLinking :: EHCOpts -> Bool
- data PkgOption = PkgOption {
- pkgoptName :: PkgName
- pkgoptExposedModules :: [String]
- pkgoptBuildDepends :: [PkgName]
- emptyPkgOption :: PkgOption
- data PgmExec
- data ExecOpt
- = ExecOpt_Plain String
- | ExecOpt_Output (String -> String)
- execOptsPlain :: [ExecOpt] -> [String]
- optOptsIsYes :: Eq opt => Maybe [opt] -> opt -> Bool
- showStr2stMp :: Map String opt -> String
- defaultEHCOpts :: EHCOpts
- ehcCmdLineOpts :: GetOptCmdLineOpts
- sortOptions :: GetOptCmdLineOpts -> GetOptCmdLineOpts
- ehcrunCmdLineOpts :: GetOptCmdLineOpts
- type GetOptCmdLineOpts = [OptDescr (EHCOpts -> EHCOpts)]
- ehcCmdLineOptsApply :: [EHCOpts -> EHCOpts] -> [String] -> EHCOpts -> (Maybe EHCOpts, [String], [String])
- ehcrunCmdLineOptsApply :: [String] -> EHCOpts -> (Maybe EHCOpts, [String], [String])
- data FIOpts = FIOpts {
- fioLeaveRInst :: !Bool
- fioBindRFirst :: !Bool
- fioBindLFirst :: !Bool
- fioBindLBeforeR :: !Bool
- fioMode :: !FIMode
- fioUniq :: !UID
- fioBindCategs :: ![TyVarCateg]
- fioNoRLabElimFor :: ![HsName]
- fioNoLLabElimFor :: ![HsName]
- fioDontBind :: !TyVarIdS
- fioExpandEqTyVar :: !Bool
- fioPredAsTy :: !Bool
- fioAllowRPredElim :: !Bool
- fioBindLVars :: !FIOBind
- fioBindRVars :: !FIOBind
- fiMbMkErrClash :: Maybe (Ty -> Ty -> Err)
- strongFIOpts :: FIOpts
- instLFIOpts :: FIOpts
- instLRFIOpts :: FIOpts
- unifyFIOpts :: FIOpts
- instFIOpts :: FIOpts
- fioSwapPolarity :: Polarity -> FIOpts -> FIOpts
- fioSwapOpts :: FIOpts -> FIOpts
- fioMkStrong :: FIOpts -> FIOpts
- fioMkWeak :: FIOpts -> FIOpts
- fioMkUnify :: FIOpts -> FIOpts
- fioIsSubsume :: FIOpts -> Bool
- weakFIOpts :: FIOpts
- data Optimize
- data OptimizationLevel
- mkDirFileLoc :: String -> FileLoc
- type StringPath = [String]
- type FileLocPath = [FileLoc]
- data FileLocKind
- data FileLoc = FileLoc {}
- emptyFileLoc :: FileLoc
- fileLocPkgDb :: FileLoc
- mkPkgFileLoc :: PkgKey -> String -> FileLoc
- filelocIsPkg :: FileLoc -> Bool
- type FileSearchLoc = FileLoc
- type PkgKey = (PkgKey1, PkgKey2)
- type PkgKey1 = PkgName
- type PkgKey2 = Maybe Version
- showPkgKey :: PkgKey -> String
- data PackageSearchFilter
- pkgSearchFilter :: (x -> Maybe PkgKey) -> ([PkgKey] -> PackageSearchFilter) -> [x] -> [PackageSearchFilter]
- type PackageCfgKeyVals = Map String String
- data PackageInfo = PackageInfo {
- pkginfoLoc :: !FileLoc
- pkginfoOrder :: !Int
- pkginfoExposedModules :: !HsNameS
- pkginfoBuildDepends :: !(Set PkgKey)
- pkginfoIsExposed :: !Bool
- type PackageMp = Map PkgKey1 (Map PkgKey2 [PackageInfo])
- type Module2PackageMp = Map HsName [PkgKey]
- data PackageDatabase = PackageDatabase {}
- emptyPackageMp :: PackageMp
- emptyPackageDatabase :: PackageDatabase
- mkInternalPkgFileBase :: PkgKey -> String -> Target -> TargetFlavor -> FilePath
- ehcOptWholeProgHPTAnalysis :: EHCOpts -> Bool
- ehcOptOptimizes :: Optimize -> EHCOpts -> Bool
- fioMkFinal :: FIOpts -> FIOpts
- data FIOBind
- = FIOBindYes
- | FIOBindNoBut TyVarIdS
- fioBindIsYes :: FIOBind -> Bool
- fioBindNoSet :: FIOBind -> TyVarIdS
- predFIOpts :: FIOpts
- implFIOpts :: FIOpts
- ehcOptWholeProgOptimizationScope :: EHCOpts -> Bool
- ehcOptEarlyModMerge :: EHCOpts -> Bool
- optsDiscrRecompileRepr :: EHCOpts -> String
- ehcOptUpdateWithPragmas :: Set Pragma -> EHCOpts -> (EHCOpts, Bool)
- handleImmQuitOption :: GetOptCmdLineOpts -> [String] -> ImmediateQuitOption -> EHCOpts -> IO ()
Documentation
type FileSuffMp = [(FileSuffix, FileSuffInitState, Bool)] Source
mkFileSuffMpHs :: EHCOpts -> FileSuffMp Source
Allowed suffixes, order is significant.
data ImmediateQuitOption Source
EH specific options
The options to use.
ehcOptEhAstPP :: EHCOpts -> Bool Source
PP EH AST, with annotations
ehcOptEhAstPPExtensive :: EHCOpts -> Bool Source
PP EH AST, with annotations
ehcOptFromJust :: EHCOpts -> String -> a -> Maybe a -> a Source
Either fromJust with a possible panic, or with a default value (when debugging)
ehcOptIsUnderDev :: UnderDev -> EHCOpts -> Bool Source
Is something under development turned on?
Core specific options
data CoreRunOpt Source
Core specific options
ehcOptEhPP :: EHCOpts -> Bool Source
Do some plain PP on EH
ehcOptTarget :: EHCOpts -> Target Source
ehcOptTargetFlavor :: EHCOpts -> TargetFlavor Source
ehcOptCoreSysF :: EHCOpts -> Bool Source
Generate system F (20120421 AD: very much under construction)
ehcOptCoreSysFCheck :: EHCOpts -> Bool Source
Typecheck system F (20120421 AD: very much under construction)
ehcOptCoreSysFGen :: EHCOpts -> Bool Source
Typecheck system F (20120421 AD: very much under construction)
ehcOptCoreSysFCheckOnlyVal :: EHCOpts -> Bool Source
Typecheck system F (20120421 AD: very much under construction)
ehcOptEmitBytecode :: EHCOpts -> Bool Source
ehcOptCmmCheck :: EHCOpts -> Bool Source
Check Cmm
ehcOptIsViaGrinCmmJavaScript :: EHCOpts -> Bool Source
Via Core -> Grin -> CMM -> JS ?
ehcOptIsViaCoreJavaScript :: EHCOpts -> Bool Source
Via Core -> JS ?
ehcOptIsViaCmm :: EHCOpts -> Bool Source
ehcOptIsViaGrin :: EHCOpts -> Bool Source
ehcOptBuiltin :: EHCOpts -> (EHBuiltinNames -> x) -> x Source
ehcOptDoExecLinking :: EHCOpts -> Bool Source
Do linking into executable?
Build pkg options, all (except obligatory name) wrapped in Maybe/[] because of possible absence. 20140829 AD: will be used to construct config file
PkgOption | |
|
Pgm (internal program used) options, in particular alternate internal shell commands
Wrapper around options, adding semantics for adapting cmd specific behavior
ExecOpt_Plain String | plain option |
ExecOpt_Output (String -> String) | output file |
execOptsPlain :: [ExecOpt] -> [String] Source
optOptsIsYes :: Eq opt => Maybe [opt] -> opt -> Bool Source
showStr2stMp :: Map String opt -> String Source
defaultEHCOpts :: EHCOpts Source
The default EHC options.
ehcCmdLineOpts :: GetOptCmdLineOpts Source
Commandline opts for ehc/uhc (EHC)
sortOptions :: GetOptCmdLineOpts -> GetOptCmdLineOpts Source
Sort options according to long descr field
ehcrunCmdLineOpts :: GetOptCmdLineOpts Source
Commandline opts for ehcr/uhcr (EHCRun)
type GetOptCmdLineOpts = [OptDescr (EHCOpts -> EHCOpts)] Source
The description for GetOpt
ehcCmdLineOptsApply :: [EHCOpts -> EHCOpts] -> [String] -> EHCOpts -> (Maybe EHCOpts, [String], [String]) Source
Apply the cmdline opts description for EHC
to a EHCOpts, returning Nothing when there were no options
ehcrunCmdLineOptsApply :: [String] -> EHCOpts -> (Maybe EHCOpts, [String], [String]) Source
Apply the cmdline opts description for EHCRun
to a EHCOpts, returning Nothing when there were no options
FIOpts | |
|
fioSwapPolarity :: Polarity -> FIOpts -> FIOpts Source
fioSwapOpts :: FIOpts -> FIOpts Source
fioMkStrong :: FIOpts -> FIOpts Source
fioMkUnify :: FIOpts -> FIOpts Source
fioIsSubsume :: FIOpts -> Bool Source
individual optimizations, unit of turning off/on. (Assumption) Names of alternatives must start with Optimize_
data OptimizationLevel Source
mkDirFileLoc :: String -> FileLoc Source
type StringPath = [String] Source
type FileLocPath = [FileLoc] Source
data FileLocKind Source
mkPkgFileLoc :: PkgKey -> String -> FileLoc Source
filelocIsPkg :: FileLoc -> Bool Source
type FileSearchLoc = FileLoc Source
showPkgKey :: PkgKey -> String Source
data PackageSearchFilter Source
Description of hiding/exposing pkgs, determining the used packages for looking up modules.
pkgSearchFilter :: (x -> Maybe PkgKey) -> ([PkgKey] -> PackageSearchFilter) -> [x] -> [PackageSearchFilter] Source
type PackageCfgKeyVals = Map String String Source
data PackageInfo Source
Per package info
PackageInfo | |
|
type PackageMp = Map PkgKey1 (Map PkgKey2 [PackageInfo]) Source
content of a package (keys are name, then version)
type Module2PackageMp = Map HsName [PkgKey] Source
reverse map from module name to package key
data PackageDatabase Source
A package database contains an actual package map, plus a function that maps modules to associated package maps. The latter is computed by "freezing" the package database using "pkgDbFreeze".
ehcOptOptimizes :: Optimize -> EHCOpts -> Bool Source
optimizes a particular option
fioMkFinal :: FIOpts -> FIOpts Source
Adapt options for extracting final ty
fioBindIsYes :: FIOBind -> Bool Source
fioBindNoSet :: FIOBind -> TyVarIdS Source
ehcOptEarlyModMerge :: EHCOpts -> Bool Source
ehcOptUpdateWithPragmas :: Set Pragma -> EHCOpts -> (EHCOpts, Bool) Source
possibly adapt with pragmas
handleImmQuitOption :: GetOptCmdLineOpts -> [String] -> ImmediateQuitOption -> EHCOpts -> IO () Source
Handle a commandline option directly