ddc-driver-0.4.1.3: Disciplined Disciple Compiler top-level driver.

Safe HaskellNone

DDC.Driver.Config

Synopsis

Documentation

data Config Source

Configuration for main compiler stages.

Constructors

Config 

Fields

configDump :: Bool

Dump intermediate code.

configInferTypes :: Bool

Use bidirectional type inference on the input code.

configSimplLite :: Simplifier Int () Name

Simplifiers to apply to intermediate code

configSimplSalt :: Simplifier Int () Name
 
configViaBackend :: ViaBackend

Backend code generator to use

configRuntime :: Config

Runtime system configuration

configBuilder :: Builder

The builder to use for the target architecture

configPretty :: ConfigPretty

Core langauge pretty printer configuration.

configSuppressHashImports :: Bool

Suppress the #import prelude in C modules

configOutputFile :: Maybe FilePath

Override output file

configOutputDir :: Maybe FilePath

Override directory for build products

configKeepLlvmFiles :: Bool

Keep intermediate .ddc.ll files

configKeepSeaFiles :: Bool

Keep intermediate .ddc.c files

configKeepAsmFiles :: Bool

Keep intermediate .ddc.s files

configTaintAvoidTypeChecks :: Bool

Avoid running the type checker where possible. When debugging program transformations, use this to get the invalid code rather than just the type error message.

data ConfigPretty Source

Core language pretty printer configuration.

defaultConfigPretty :: ConfigPrettySource

Default pretty printer configuration.

prettyModeOfConfig :: (Eq n, Pretty n) => ConfigPretty -> PrettyMode (Module a n)Source

Convert a the pretty configuration into the mode to use to print a module. We keep the ConfigPretty type separate from PrettyMode because the former can be non-recursive with other types, and does not need to be parameterised by the annotation or name types.

data ViaBackend Source

Constructors

ViaC

Compile via the C backend.

ViaLLVM

Compile via the LLVM backend.

Instances

Show ViaBackend