License | BSD3 |
---|---|
Maintainer | The Idris Community. |
Safe Haskell | None |
Language | Haskell2010 |
IRTS.CodegenCommon
Description
Synopsis
- data DbgLevel
- data OutputType
- = Raw
- | Object
- | Executable
- data CodegenInfo = CodegenInfo {
- outputFile :: String
- outputType :: OutputType
- targetTriple :: String
- targetCPU :: String
- includes :: [FilePath]
- importDirs :: [FilePath]
- compileObjs :: [String]
- compileLibs :: [String]
- compilerFlags :: [String]
- debugLevel :: DbgLevel
- simpleDecls :: [(Name, SDecl)]
- defunDecls :: [(Name, DDecl)]
- liftDecls :: [(Name, LDecl)]
- interfaces :: Bool
- exportDecls :: [ExportIFace]
- ttDecls :: [(Name, TTDecl)]
- type CodeGenerator = CodegenInfo -> IO ()
Documentation
data OutputType Source #
Constructors
Raw | |
Object | |
Executable |
Instances
Eq OutputType Source # | |
Defined in IRTS.CodegenCommon | |
Show OutputType Source # | |
Defined in IRTS.CodegenCommon Methods showsPrec :: Int -> OutputType -> ShowS # show :: OutputType -> String # showList :: [OutputType] -> ShowS # | |
Generic OutputType Source # | |
Defined in IRTS.CodegenCommon Associated Types type Rep OutputType :: Type -> Type # | |
NFData OutputType Source # | |
Defined in Idris.DeepSeq Methods rnf :: OutputType -> () # | |
type Rep OutputType Source # | |
Defined in IRTS.CodegenCommon |
data CodegenInfo Source #
Everything which might be needed in a code generator.
A CG can choose which level of Decls to generate code from (simplified, defunctionalised or merely lambda lifted) and has access to the list of object files, libraries, etc.
Constructors
CodegenInfo | |
Fields
|
Instances
ToJSON CodegenInfo Source # | |
Defined in IRTS.Portable Methods toJSON :: CodegenInfo -> Value # toEncoding :: CodegenInfo -> Encoding # toJSONList :: [CodegenInfo] -> Value # toEncodingList :: [CodegenInfo] -> Encoding # |
type CodeGenerator = CodegenInfo -> IO () Source #