llvm-hs: General purpose LLVM bindings
llvm-hs is a set of Haskell bindings for LLVM http://llvm.org/. Unlike other current Haskell bindings, it uses an ADT to represent LLVM IR (http://llvm.org/docs/LangRef.html), and so offers two advantages: it handles almost all of the stateful complexities of using the LLVM API to build IR; and it supports moving IR not only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++ into Haskell.
Modules
[Index] [Quick Jump]
- LLVM
- LLVM.Analysis
- LLVM.CodeGenOpt
- LLVM.CodeModel
- LLVM.CommandLine
- LLVM.Context
- LLVM.Diagnostic
- LLVM.Exception
- LLVM.ExecutionEngine
- Internal
- LLVM.Internal.Analysis
- LLVM.Internal.Atomicity
- LLVM.Internal.Attribute
- LLVM.Internal.BasicBlock
- LLVM.Internal.CallingConvention
- LLVM.Internal.Coding
- LLVM.Internal.CommandLine
- LLVM.Internal.Constant
- LLVM.Internal.Context
- LLVM.Internal.DataLayout
- LLVM.Internal.DecodeAST
- LLVM.Internal.Diagnostic
- LLVM.Internal.EncodeAST
- LLVM.Internal.ExecutionEngine
- FFI
- LLVM.Internal.FFI.Analysis
- LLVM.Internal.FFI.Assembly
- LLVM.Internal.FFI.Attribute
- LLVM.Internal.FFI.BasicBlock
- LLVM.Internal.FFI.BinaryOperator
- LLVM.Internal.FFI.Bitcode
- LLVM.Internal.FFI.Builder
- LLVM.Internal.FFI.ByteRangeCallback
- LLVM.Internal.FFI.Cleanup
- LLVM.Internal.FFI.CommandLine
- LLVM.Internal.FFI.Constant
- LLVM.Internal.FFI.Context
- LLVM.Internal.FFI.DataLayout
- LLVM.Internal.FFI.DynamicLibrary
- LLVM.Internal.FFI.ExecutionEngine
- LLVM.Internal.FFI.Function
- LLVM.Internal.FFI.GlobalAlias
- LLVM.Internal.FFI.GlobalValue
- LLVM.Internal.FFI.GlobalVariable
- LLVM.Internal.FFI.InlineAssembly
- LLVM.Internal.FFI.Instruction
- LLVM.Internal.FFI.InstructionDefs
- LLVM.Internal.FFI.Iterate
- LLVM.Internal.FFI.LLVMCTypes
- LLVM.Internal.FFI.MemoryBuffer
- LLVM.Internal.FFI.Metadata
- LLVM.Internal.FFI.Module
- LLVM.Internal.FFI.ObjectFile
- LLVM.Internal.FFI.OrcJIT
- LLVM.Internal.FFI.PassManager
- LLVM.Internal.FFI.PtrHierarchy
- LLVM.Internal.FFI.RTDyldMemoryManager
- LLVM.Internal.FFI.RawOStream
- LLVM.Internal.FFI.SMDiagnostic
- LLVM.Internal.FFI.ShortByteString
- LLVM.Internal.FFI.Target
- LLVM.Internal.FFI.Threading
- LLVM.Internal.FFI.Transforms
- LLVM.Internal.FFI.Type
- LLVM.Internal.FFI.User
- LLVM.Internal.FFI.Value
- LLVM.Internal.FastMathFlags
- LLVM.Internal.FloatingPointPredicate
- LLVM.Internal.Function
- LLVM.Internal.Global
- LLVM.Internal.InlineAssembly
- LLVM.Internal.Instruction
- LLVM.Internal.InstructionDefs
- LLVM.Internal.IntegerPredicate
- LLVM.Internal.LibraryFunction
- LLVM.Internal.Linking
- LLVM.Internal.MemoryBuffer
- LLVM.Internal.Metadata
- LLVM.Internal.Module
- LLVM.Internal.ObjectFile
- LLVM.Internal.Operand
- LLVM.Internal.OrcJIT
- LLVM.Internal.PassManager
- LLVM.Internal.RMWOperation
- LLVM.Internal.RawOStream
- LLVM.Internal.String
- LLVM.Internal.TailCallKind
- LLVM.Internal.Target
- LLVM.Internal.Threading
- LLVM.Internal.Type
- LLVM.Internal.Value
- LLVM.Linking
- LLVM.Module
- LLVM.OrcJIT
- LLVM.PassManager
- LLVM.Relocation
- LLVM.Target
- LLVM.Threading
- LLVM.Transforms
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
shared-llvm | link against llvm shared rather than static library | Enabled |
debug | compile C(++) shims with debug info for ease of troubleshooting | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- llvm-hs-8.0.0.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 4.0.0.0, 4.0.1.0, 4.1.0.0, 4.2.0, 5.0.0, 5.1.0, 5.1.1, 5.1.2, 5.1.3, 6.0.0, 6.1.0, 6.1.1, 6.2.0, 6.3.0, 7.0.0, 7.0.1, 8.0.0, 9.0.0, 9.0.1 (info) |
---|---|
Change log | CHANGELOG.md |
Dependencies | array (>=0.4.0.0), attoparsec (>=0.13), base (>=4.9 && <4.13), bytestring (>=0.9.1.10), containers (>=0.4.2.1), exceptions (>=0.8), llvm-hs-pure (>=8.0 && <8.1), mtl (>=2.1.3), template-haskell (>=2.5.0.0), transformers (>=0.3 && <0.6), utf8-string (>=0.3.7) [details] |
Tested with | ghc ==8.0.2, ghc ==8.2.2, ghc ==8.4.4, ghc ==8.6.4 |
License | BSD-3-Clause |
Copyright | (c) 2013 Benjamin S. Scarlet and Google Inc. |
Author | Anthony Cowley, Stephen Diehl, Moritz Kiefer <moritz.kiefer@purelyfunctional.org>, Benjamin S. Scarlet |
Maintainer | Anthony Cowley, Stephen Diehl, Moritz Kiefer <moritz.kiefer@purelyfunctional.org> |
Revised | Revision 1 made by cocreature at 2020-01-02T13:31:46Z |
Category | Compilers/Interpreters, Code Generation |
Home page | http://github.com/llvm-hs/llvm-hs/ |
Bug tracker | http://github.com/llvm-hs/llvm-hs/issues |
Source repo | head: git clone git://github.com/llvm-hs/llvm-hs.git -b llvm-8 |
Uploaded | by cocreature at 2019-03-10T15:10:33Z |
Distributions | |
Reverse Dependencies | 3 direct, 18 indirect [details] |
Downloads | 15833 total (113 in the last 30 days) |
Rating | 2.75 (votes: 8) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |