
On 6-jul-2007, at 18:08, Duncan Coutts wrote:
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?
It does in fact work under Windows. However, it currently depends on cygwin for most of its building infrastructure. This is not fundamental to the system, fortunately. There is just too little manpower behind it to lift it from its Linuxy start... Oh, and Daan Leijen seems to have written something about the same subject for some reason or another. With regards, Arthur van Leeuwen. (Who has forwarded the initial mail to Eelco Dolstra, designer of Nix, to see if he wants to chime in) -- /\ / | arthurvl@cs.uu.nl | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt / \/__ | you can dare to be yourself | Dance like there's nobody watching