Specifying dependencies on Haskell code

David Roundy droundy at darcs.net
Fri May 9 08:28:30 EDT 2008


On Fri, May 09, 2008 at 01:00:11PM +0100, Simon Marlow wrote:
> David Roundy wrote:
> >Maybe the problem is that noone seems to know what problem cabal is
> >supposed to be solving.  What problem is that? Some say it's a
> >configuration/build system.  Others say it's a packaging system.  I think
> >it's the latter.
> 
> Does it matter?  It's fine for a system to not fit entirely into one of the 
> predefined boxes that you know about (e.g. is ZFS a file system or a volume 
> manager?).  Cabal solves a specific problem, which is:
> 
>   it allows a package to be built from source, and installed, on
>   a system with only a Haskell compiler (and Cabal).
> 
> the last part is important for people on Windows who don't want to install 
> Cygwin or MSYS just to build Haskell packages.
> 
> Now, we discovered that by adding bits here and there we could solve other 
> problems too: e.g. Cabal also builds programs.  But the above statement was 
> originally the main reason for Cabal's existence.

I guess my problem is that some of the advocates of cabal don't seem to
understand this, and seem to think that it's some sort of a general-purpose
build system.  The trouble is that it isn't an autoconf-replacement or a
make-replacement, but folks keep comparing it with those programs and
arguing that it should replace them.  Indeed, it can replace them for
simple packages, as you note, but it doesn't compete in terms of either
generality or flexibility.

David


More information about the Libraries mailing list