[Haskell-cafe] Nix for Hackage/Cabal

Arthur van Leeuwen arthurvl at cs.uu.nl
Fri Jul 6 14:20:31 EDT 2007

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 at 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  

More information about the Haskell-Cafe mailing list