[Nix-dev] extending release-lib and how to cache in nix

Eelco Dolstra eelco.dolstra at logicblox.com
Tue Jul 24 16:16:30 CEST 2012


Hi,

On 24/07/12 10:09, Florian Friesdorf wrote:

> - condPackagesWithMetaPlatform supports a list of valid platforms which
>   is intersected with a package's meta.platforms
> 
> - condPackagesWithMetaPlatform supports a filter predicate
> 
> - packagesWithMetaPlatform is based on condPackagesWithMetaPlatform and
>   shows the original behaviour

What's the purpose of these functions?

> - dependsOn predicate recursively scans a package's *Inputs against a
>   list of dependencies

This sounds like an inherently slow thing to do.  Why is it needed?

> @Eelco: You said on IRC that nix used to cache function calls with
> identical arguments. 

It had a evaluation cache that mapped expressions (including function calls) to
their normal form.  However, this uses a large amount of memory and prevents
garbage collection.

-- 
Eelco Dolstra | LogicBlox, Inc. | http://nixos.org/~eelco/


More information about the nix-dev mailing list