
On Fri, 2007-07-06 at 16:47 +0200, apfelmus wrote:
Hello,
http://nix.cs.uu.nl/index.html
"Nix is a purely functional package manager. This means that it treats packages like values in purely functional programming languages such as Haskell - they are built by functions that don't have side-effects, and they never change after they have been built."
To me, it sounds like the ideal solution to package/make/build management in general and Cabal/Hackage/Cabal-install in particular. After all, compilation is just a _pure_ function
compile :: Source -> Dependencies -> Object
So, the suggestion is to use Nix for Hackage/Cabal. This way, we get package installation/deinstallation for free. I didn't look into it, but it seems that the package description language can express most content from .cabal files and I guess that it even eliminates the need for most of Cabal's functionality like finding compilers and such.
I was under the impression that it didn't work on Windows. From another quick look at the website, it looks like that's right. Does anybody happen to know otherwise? Duncan