License | BSD3 |
---|---|
Maintainer | The Idris Community. |
Safe Haskell | None |
Language | Haskell2010 |
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 #
Instances
Eq OutputType Source # | |
Defined in IRTS.CodegenCommon (==) :: OutputType -> OutputType -> Bool # (/=) :: OutputType -> OutputType -> Bool # | |
Show OutputType Source # | |
Defined in IRTS.CodegenCommon showsPrec :: Int -> OutputType -> ShowS # show :: OutputType -> String # showList :: [OutputType] -> ShowS # | |
Generic OutputType Source # | |
Defined in IRTS.CodegenCommon type Rep OutputType :: * -> * # from :: OutputType -> Rep OutputType x # to :: Rep OutputType x -> OutputType # | |
NFData OutputType # | |
Defined in Idris.DeepSeq 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.
CodegenInfo | |
|
Instances
ToJSON CodegenInfo # | |
Defined in IRTS.Portable toJSON :: CodegenInfo -> Value # toEncoding :: CodegenInfo -> Encoding # toJSONList :: [CodegenInfo] -> Value # toEncodingList :: [CodegenInfo] -> Encoding # |
type CodeGenerator = CodegenInfo -> IO () Source #