llvm-base-types: The base types for a mostly pure Haskell LLVM analysis library

[ bsd3, data, library ] [ Propose Tags ]




Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.3.0
Dependencies base (>=4 && <5), containers, deepseq, dwarf, failure, GenericPretty (>1), graphviz (>=2999.12.0.3), hashable (>=, pretty, regex-tdfa, text, transformers (>=0.3), unordered-containers, vector [details]
License BSD-3-Clause
Author Tristan Ravitch
Maintainer travitch@cs.wisc.edu
Category Data
Uploaded by TristanRavitch at 2013-11-12T02:47:02Z
Reverse Dependencies 3 direct, 1 indirect [details]
Downloads 1319 total (5 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 4 reports]

Readme for llvm-base-types-0.3.0

[back to package description]

This package defines types used in the llvm-analysis and llvm-data-interop packages.

This is a separate package mostly because llvm-data-interop needed to be split out due to C++ linkage issues. llvm-data-interop needs the definitions in this packages but cannot depend on llvm-analysis (which also needs these types).

Further, to avoid code duplication some of the C++ enumeration values used in llvm-data-interop are actually included with this package. The definitions in this package are used (via c2hs) to build Haskell equivalents. The base types need these definitions, but the llvm-data-interop package also needs to be able to find the header. This is handled in Setup.hs in llvm-data-interop with cooperation from this package (which exports the cabal-generated path to the installed header).

Only llvm-data-interop and llvm-analysis should ever need to reference this package since llvm-analysis re-exports all of the definitions.