[haskell-llvm] support for multiple LLVM versions in llvm-base
Henning Thielemann
lemming at henning-thielemann.de
Sat May 18 21:01:42 BST 2013
On Sat, 18 May 2013, Nathan Howell wrote:
> > 'mtl' is a new dependency that was not needed for llvm-base before. And also: 'transformers' would be
> nicer, since it is simpler.
>
> I think mtl is a fine dependency, even if it's not new.
It's new for llvm-*base*:
http://hackage.haskell.org/package/llvm-base-3.0.1.0
http://hackage.haskell.org/package/llvm-base-3.2.0.0
> The high level bindings, include your llvm-tf package depend on it
> already.
I'd like to get rid of mtl there, too. It was a fork of llvm and I
hesitated to deviate too much from the original branch.
> Apart from that, the project structure currently becomes broken. We have three levels of
> interfaces in one repository, where the low and mid level are merged in one package. They reside
> in the 'base' directory and are affected by the configure procedure. In contrast to that, the
> high-level interface has no such directory.
>
>
> I don't find it useful to split the FFI bindings out to a separate package.
That was the opion about llvm containing high-level and low-level, too,
until version 0.10. I predict that in the future the general opinion will
also change to splitting llvm-base into FFI and mid-level interfaces. If I
understand you right, it's mainly maintenance burden that let you hesitate
to split? If yes, then I like to ask how maintenance can be simplified for
multiple packages? For working with darcs and cabal I wrote the packages
darcs-scripts and cabal-scripts that simplify some of the maintenance
tasks.
More information about the Haskell-llvm
mailing list