data CompilationError : Type
Compilation error types for LLVM operations.
Represents various errors that can occur during LLVM compilation,
optimization, linking, and execution operations.
Totality: total
Visibility: public export
Constructors:
LinkError : String -> CompilationError
Error during linking phase
AssembleError : String -> CompilationError
Error during assembly phase
CompileError : String -> CompilationError
Error during compilation phase
RunError : String -> CompilationError
Error during execution phase
OptimizeError : String -> CompilationError
Error during optimization phase
OtherError : String -> CompilationError
General error not fitting other categories
Hint: Show CompilationError
Compile : Type -> Type
Compilation monad for error handling
A monad that combines IO with error handling for compilation operations.
All LLVM system operations return results in this monad.
Visibility: public exportrecord Context : Type
Compilation context containing configuration and state.
Holds all the information needed for a complete LLVM compilation pipeline,
including optimization passes, modules, and file locations.
Totality: total
Visibility: public export
Constructor: MkContext : List Pass -> Maybe String -> String -> String -> List (String, String) -> List String -> List String -> String -> Context
Projections:
.buildDir : Context -> String
Build directory for intermediate files
Extra bitcode file paths
Extra LLVM IR files (name, content pairs)
Extra object file paths
.mainModule : Context -> Maybe String
Optional main module file path
.output : Context -> String
Output file path
.passes : Context -> List Pass
List of optimization passes to apply
.tempDir : Context -> String
Temporary directory for working files
.passes : Context -> List Pass
List of optimization passes to apply
Visibility: public exportpasses : Context -> List Pass
List of optimization passes to apply
Visibility: public export.mainModule : Context -> Maybe String
Optional main module file path
Visibility: public exportmainModule : Context -> Maybe String
Optional main module file path
Visibility: public export.buildDir : Context -> String
Build directory for intermediate files
Visibility: public exportbuildDir : Context -> String
Build directory for intermediate files
Visibility: public export.tempDir : Context -> String
Temporary directory for working files
Visibility: public exporttempDir : Context -> String
Temporary directory for working files
Visibility: public export Extra LLVM IR files (name, content pairs)
Visibility: public export Extra LLVM IR files (name, content pairs)
Visibility: public export Extra bitcode file paths
Visibility: public export Extra bitcode file paths
Visibility: public export Extra object file paths
Visibility: public export Extra object file paths
Visibility: public export.output : Context -> String
Output file path
Visibility: public exportoutput : Context -> String
Output file path
Visibility: public exportcontext : {default [Level 2] _ : List Pass} -> {default Nothing _ : Maybe String} -> String -> {default buildDir _ : String} -> {default [] _ : List (String, String)} -> {default [] _ : List String} -> {default [] _ : List String} -> {default "main" _ : String} -> Context
- Visibility: export
runCmd : {default 10 _ : Int} -> String -> Compile (String, Int)
- Visibility: export
showMsg : {default 10 _ : Int} -> String -> Compile ()
- Visibility: export