| 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 #