The llvm-hs package

[ Tags: bsd3, code-generation, compilers-interpreters, library ] [ Propose Tags ]

llvm-hs is a set of Haskell bindings for LLVM Unlike other current Haskell bindings, it uses an ADT to represent LLVM IR (, 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.


Versions,,, 4.2.0, 5.0.0, 5.1.0
Change log
Dependencies array (>=, attoparsec (>=0.13), base (>=4.8 && <5), bytestring (>=, containers (>=, exceptions (>=0.8), llvm-hs-pure (==5.1.0), mtl (>=2.1.3), semigroups (==0.18.*), template-haskell (>=, transformers (>=0.3 && <0.6), utf8-string (>=0.3.7) [details]
License BSD3
Copyright (c) 2013 Benjamin S. Scarlet and Google Inc.
Author Anthony Cowley, Stephen Diehl, Moritz Kiefer <>, Benjamin S. Scarlet
Maintainer Anthony Cowley, Stephen Diehl, Moritz Kiefer <>
Category Compilers/Interpreters, Code Generation
Home page
Bug tracker
Source repository head: git clone git:// -b llvm-4
Uploaded Thu Oct 12 09:33:42 UTC 2017 by cocreature
Distributions LTSHaskell:4.2.0, NixOS:5.0.0, Stackage:5.0.0
Downloads 692 total (88 in the last 30 days)
Rating 2.0 (1 ratings) [clear rating]
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI





link against llvm shared rather than static library


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


Add semigroups to build-depends for Data.List.NonEmpty. This will be selected automatically by cabal.


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