The llvm-tf package

[Tags: bsd3, library]

High-level bindings to the LLVM compiler toolkit using type families instead of functional dependencies.

We use the same module names as the llvm package, which makes it harder to work with both packages from GHCi. You may use the -hide-package option. We may change the module names later.

A note on versioning: The first two version numbers match the version of LLVM. In order to be able to improve the Haskell API for the same version of LLVM, I use the first three numbers of the Cabal package version as the major version in the sense of the Package Versioning Policy PVP. That is, a bump from 3.0.0 to 3.0.1 may contain substantial API changes, a bump from 3.0.0.0 to 3.0.0.1 may contain API extensions, and a bump from 3.0.0.0.0 to 3.0.0.0.1 may contain API-preserving bugfixes.


[Skip to ReadMe]

Properties

Versions3.0.0.0, 3.0.0.0.1, 3.0.0.0.2, 3.0.0.1, 3.0.0.2, 3.0.1, 3.0.2, 3.0.3.1
Change logNone available
Dependenciesbase (>=3 && <5), bytestring (>=0.9), containers, directory, llvm-base (==3.0.*), mtl, process, tfp (>=0.6 && <0.8) [details]
LicenseBSD3
AuthorHenning Thieleman, Bryan O'Sullivan, Lennart Augustsson
MaintainerHenning Thieleman <llvm@henning-thielemann.de>
Stabilityexperimental
CategoryCompilers/Interpreters, Code Generation
Source repositoryhead: darcs get http://code.haskell.org/~thielema/llvm-tf/
this: darcs get http://code.haskell.org/~thielema/llvm-tf/ --tag 3.0.0.0.1
UploadedWed May 15 12:43:11 UTC 2013 by HenningThielemann
DistributionsNixOS:3.0.3.1
Downloads966 total (69 in last 30 days)
Votes
0 []
StatusDocs not available [build log]
All reported builds failed as of 2015-06-04 [all 2 reports]

Modules

Flags

NameDescriptionDefault
developeroperate in developer modeDisabled

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

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for llvm-tf-3.0.0.0.1

Haskell LLVM bindings

This package provides Haskell bindings for the popular LLVM compiler infrastructure project.

Compatibility

We try to stay up to date with LLVM releases. The current version of this package is compatible with LLVM 2.9 and 2.8. Please understand that the package may or may not work against older LLVM releases; we don't have the time or resources to test across multiple releases.

Configuration

By default, when you run cabal install, the Haskell bindings will be configured to look for LLVM in /usr/local.

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

cabal install --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.

Staying in touch

There is a low-volume mailing list named haskell-llvm@projects.haskellorg. If you use the LLVM bindings, you should think about joining.

If you want to contribute patches, please clone a copy of the git repository:

git clone git://github.com/bos/llvm

Patches are best submitted via the github "pull request" interface.

To file a bug or a request for an enhancement, please use the github issue tracker.