[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