llvm-ht: Bindings to the LLVM compiler toolkit with some custom extensions.

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

Bindings to the LLVM compiler toolkit. Custom extensions: * vector-aware versions of fptosi and friends * Callback from LLVM code into Haskell code including StablePtr support * tuple arguments to LLVM functions * instance IsFirstClass Array * CodeGen.constStruct * Instruction.extractvalue, insertvalue * Core.Instruction.bitcastUnify: like bitcast but uses type unification for asserting equal size of source and target News in the original llvm package: * New in 0.7.0.0: Adapted to LLVM 2.6; * New in 0.6.8.0: Add functions to allow freeing function resources; * New in 0.6.7.0: Struct types; * New in 0.6.6.0: Bug fixes; * New in 0.6.5.0: Adapted to LLVM 2.5;


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.7.0.0
Dependencies base (>=3 && <5), bytestring (>=0.9), directory, mtl, process, type-level [details]
License BSD-3-Clause
Author Bryan O'Sullivan, Lennart Augustsson, Henning Thielemann
Maintainer Bryan O'Sullivan <bos@serpentine.com>, Lennart Augustsson <lennart@augustsson.net>, Henning Thielemann <llvm@henning-thielemann.de>
Category Compilers/Interpreters, Code Generation
Home page http://darcs.serpentine.com/llvm/
Uploaded by HenningThielemann at 2010-09-21T15:17:11Z
Distributions
Reverse Dependencies 3 direct, 6 indirect [details]
Downloads 1197 total (6 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for llvm-ht-0.7.0.0

[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:

  http://llvm.org/


Configuration
-------------

By default, when you run "runghc Setup configure", the Haskell
bindings will be configured to install to /usr/local.  The configure
script will look for your LLVM installation in that same directory.

If you have LLVM installed in a different location, e.g. /usr, you can
tell the configure script where to find it as follows:

  runghc Setup configure --configure-option=--with-llvm-prefix=/usr


Package status - what to expect
-------------------------------

This package is still under development.

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

The high level interface is mostly safe, but the type system cannot
protect against everything that can go wrong, so take care.  And, of
course, there's no way to guarantee anything about the generated code.


Jump in and help!
-----------------

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

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

Thanks!