On 5/11/11 3:11 PM, Bryan O'Sullivan wrote:
It's a fairly terrible piece of software.
My experience is that it is the only cross-platform build system I have used to date that hasn't made my eyes bleed, though I only use it for C/C++/Fortran. I suppose that counts as a personal testimonial in favor of it. Put another way: it is definitely the worst of all build systems --- except for all the rest. :-)

Also, my most recent experience with Cabal is that it is a serious PITA if you want to do any non-trivial cross-language stuff with it, since essentially its only support for non-Haskell stuff is its hard-coded support for C/C++. It is true that you can add hooks to do arbitrary stuff, but at that point you are basically bolting your own build system on top of it and have to start from scratch --- or worse, *autotools* (SHUDDER!)

At one point I was working on my own build system Blueprint that was a generalized build system where GHC was just one specific tool within the system, but although I got it working just fine, at some point implementing all of the of the crazy stuff that is needed for proper GHC package support burned me out so I stopped short of finishing it since it's not like I didn't have other things to do with my time. :-) You might ask why I didn't just use the Cabal libraries to help myself out, and while I was able to get some use out of them unfortunately most the functionality in the Cabal libraries is simply not designed to be used by third parties. (For the curious, the sources are available at www.github.com/gcross/blueprint; look at the *blueprint* branch, not the *master* branch which was a first attempt that has been superseded by a complete rewrite.)

So anyway, what it comes down to in my experience is

1) Cabal is a tool that can only be used to build Haskell packages with some supporting C/C++ code thrown in

and

2) Cabal is currently the only tool that can realistically be used to properly build and install Haskell packages due to the great complexity involved with getting all the details right

Cheers,
Greg

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to