[Nix-dev] Re: [Nix-commits] SVN commit: nix - 19980 - viric -nix/branches

Eelco Dolstra e.dolstra at tudelft.nl
Wed Feb 17 10:38:38 CET 2010


Hi,

Nicolas Pierron wrote:

> 2010/2/14 Sander van der Burg - EWI <S.vanderBurg at tudelft.nl>:
>> So, what are you guys going to do? Implementing a clean room implementation
>> of ATerm with the same interfaces or forking ATerm? And if so, why should
>> this ATerm version developed inside the Nix repository?
> 
> Nix does not need ATerm, Nix need maximal sharing to implements
> maximal laziness.  The garbage collection is almost useless because
> all terms are kept alive in the ATermMap which is used to cache reduce
> operations.  So the garbage collection is just a way to lose some
> evaluation time.

Not having a garbage collector would doom us forever to unbounded memory use.
In the current implementation we just have to improve the evaluation strategy
(i.e. not cache every evaluation result) to reduce memory use.

> Some manipulations are done to convert data to structure which are
> easy to manipulate and to structure which are easy to store.  These
> conversions are costly, why don't we just use one data format?

I'm not sure what you mean.  What manipulations and structures?

> And as I've experienced a lot of difficulties to debug the ATerm
> library (due to all the crap that you don't want to understand).  We
> don't have access to their repository.  

We do (well, Hydra does).  We even produce tarballs from the ATerm repo:
http://hydra.nixos.org/job/meta-environment/aterm-trunk/tarball

> They depends on the assembly language.

Where?

> The library is not thread safe.

Having a thread-safe aterm-library would be great.  Then we could make nix-env
evaluation multi-core :-)

-- 
Eelco Dolstra | http://www.st.ewi.tudelft.nl/~dolstra/



More information about the nix-dev mailing list