llvm: Bindings to the LLVM compiler toolkit

[ bsd3, code-generation, compilers-interpreters, deprecated, library ] [ Propose Tags ]
Deprecated in favor of llvm-hs, llvm-general, llvm-tf

Bindings to the LLVM compiler toolkit

[Skip to Readme]


[Last Documentation]

  • LLVM
    • LLVM.Core
      • LLVM.Core.Builder
      • LLVM.Core.Constant
      • LLVM.Core.FFI
      • LLVM.Core.Instruction
      • LLVM.Core.Type
      • LLVM.Core.Utils
      • LLVM.Core.Value
    • LLVM.ExecutionEngine
      • LLVM.ExecutionEngine.FFI


Automatic Flags

bytestring was part of the base library in ghc-6.6 days. The bytestring low level interface is in Data.ByteString.Internal and Data.Bytestring.Unsafe not Data.ByteString.Base


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


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.0.2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Dependencies base, bytestring (>=0.9) [details]
License BSD-3-Clause
Author Bryan O'Sullivan
Maintainer Bryan O'Sullivan <bos@serpentine.com>
Category Compilers/Interpreters
Uploaded by BryanOSullivan at 2008-01-04T01:36:38Z
Reverse Dependencies 5 direct, 59 indirect [details]
Downloads 27569 total (40 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2017-01-03 [all 7 reports]

Readme for llvm-0.0.2

[back to package description]
Haskell LLVM bindings

This package provides Haskell bindings for the popular LLVM compiler
infrastructure project.  If you don't know what LLVM is, the main LLVM
home page is here:


Package status - what to expect

This package is under heavy development.  I've released it quite early
in order to solicit comments and help from interested parties.

The bindings are currently incomplete, so there are some severe limits
on what you can do.  Adding new functions is generally easy, though,
so don't be afraid to get your hands dirty.

Also, the type safety of various functions is a bit dubious.  The
underlying C bindings to LLVM throw away almost all type information,
so we have to reconstruct types in Haskell.  I'm still working on
straightening things out.

Please expect the sands to shift under your feet quite rapidly for a
little while as I add functionality, improve the interfaces, and
generally flesh the bindings out to be thoroughly useful.

Jump in and help!

I welcome your comments and contributions.  You can send email to me
at <bos@serpentine.com>.  If you want to send patches, please get a
copy of the darcs repository:

  darcs get http://darcs.serpentine.com/llvm