Eelco Dolstra
3cd5fd8bb3
More efficient version of filterAttrs
2015-07-23 16:49:13 +02:00
Benjamin Staffin
4dd93dbf25
lib: Fix matchAttrs by importing builtins.length
...
Before:
nix-repl> :l <nixpkgs>
nix-repl> lib.matchAttrs { foo = "bar"; } { bar = "bas"; }
error: undefined variable ‘length’ at "/home/benley/nix/nixpkgs/lib/attrsets.nix":317:10
After:
nix-repl> :l <nixpkgs>
nix-repl> lib.matchAttrs { foo = "bar"; } { bar = "bas"; }
false
Change-Id: I548d69d50cffe1c63a6f39f76fd09d1835d8d9a2
2014-12-30 15:07:29 -08:00
Eelco Dolstra
97220c973f
Replace hasAttr/getAttr calls with the ? and . operators
...
For NixOS evaluation, this gives a ~21% reduction in the number of
values allocated and a ~4% speedup. It's also more readable.
2014-10-05 01:11:06 +02:00
Eelco Dolstra
0e120dc68f
Use new primops
2014-10-05 01:10:52 +02:00
Eelco Dolstra
a8b693fef7
Remove backward-compatible implementations of some primops
...
Nixpkgs requires at least Nix 1.2 anyway, so these are now useless.
2013-11-12 13:50:45 +01:00
Eelco Dolstra
785eaf2cea
Add some primops to lib
2013-11-12 13:48:30 +01:00
Eelco Dolstra
b479dac8df
Inline some functions on the critical path
2013-10-28 22:45:55 +01:00
Eelco Dolstra
40913958a2
Keep position information for option declarations and definitions
...
Also, when an option definition fails to type-check, print the file
name of the module in which the offending definition occurs, e.g.
error: user-thrown exception: The option value `boot.loader.grub.version' in `/etc/nixos/configuration.nix' is not a integer.
2013-10-28 22:45:55 +01:00
Eelco Dolstra
5fef92c4a0
Move pkgs/lib/ to lib/
2013-10-10 13:28:21 +02:00