llvm-general: General purpose LLVM bindings

[ bsd3, code-generation, compilers-interpreters, library ] [ Propose Tags ]
Versions 0.1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Dependencies array (>=, base (>= && <5), bytestring (>=, containers (>=, llvm‑general‑pure (==, mtl (>=, parsec (>=3.1.3), setenv (>=0.1.0), template‑haskell (>=, text (>=, transformers (>= [details]
License BSD-3-Clause
Copyright Benjamin S. Scarlet 2013
Author Benjamin S.Scarlet <fgthb0@greynode.net>
Maintainer Benjamin S. Scarlet <fgthb0@greynode.net>
Category Compilers/Interpreters, Code Generation
Source repo head: git clone git://github.com/bscarlet/llvm-general.git
this: git clone git://github.com/bscarlet/llvm-general.git -b llvm-3.3(tag v3.3.7.0)
Uploaded by BenjaminScarlet at Thu Aug 8 21:53:13 UTC 2013
Distributions NixOS:
Downloads 42165 total (290 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-12-20 [all 7 reports]
Hackage Matrix CI

llvm-general 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.

For haddock, see http://bscarlet.github.io/llvm-general/


  • LLVM
    • LLVM.General
      • LLVM.General.Analysis
      • LLVM.General.CodeGenOpt
      • LLVM.General.CodeModel
      • LLVM.General.CommandLine
      • LLVM.General.Context
      • LLVM.General.Diagnostic
      • LLVM.General.ExecutionEngine
      • LLVM.General.Module
      • LLVM.General.PassManager
      • LLVM.General.Relocation
      • LLVM.General.Target
        • LLVM.General.Target.Options
      • LLVM.General.Transforms



link against llvm shared rather than static library


compile C(++) shims with debug info for ease of troubleshooting


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees