- Mar 05, 2012
-
-
Eelco Dolstra authored
http://hydra.nixos.org/build/2213576 Not sure why compilation doesn't fail on other platforms...
-
- Oct 24, 2010
-
-
Eelco Dolstra authored
* Simplify the representation of attributes in the AST. * Change the behaviour of listToAttrs() in case of duplicate names.
-
Eelco Dolstra authored
tree). This saves a lot of memory. The vector should be sorted so that names can be looked up using binary search, but this is not the case yet. (Surprisingly, looking up attributes using linear search doesn't have a big impact on performance.) Memory consumption for $ nix-instantiate /etc/nixos/nixos/tests -A bittorrent.test --readonly-mode on x86_64-linux with GC enabled is now 185 MiB (compared to 946 MiB on the trunk).
-
- Oct 22, 2010
-
-
Eelco Dolstra authored
a pointer to a Value, rather than the Value directly. This improves the effectiveness of garbage collection a lot: if the Value is stored inside the set directly, then any live pointer to the Value causes all other attributes in the set to be live as well.
-
- Jun 10, 2010
-
-
Eelco Dolstra authored
from the old ATerm-based evaluator.
-
- May 07, 2010
-
-
Eelco Dolstra authored
No commit message
-
Eelco Dolstra authored
-
- Apr 15, 2010
-
-
Eelco Dolstra authored
values. This improves sharing and gives another speed up. Evaluation of the NixOS system attribute is now almost 7 times faster than the old evaluator.
-
- Apr 13, 2010
-
-
Eelco Dolstra authored
efficiently. The symbol table ensures that there is only one copy of each symbol, thus allowing symbols to be compared efficiently using a pointer equality test.
-
- Apr 12, 2010
-
-
Eelco Dolstra authored
finished yet.
-
- Apr 07, 2010
-
-
Eelco Dolstra authored
-
Eelco Dolstra authored
-
- Mar 31, 2010
-
-
Ludovic Courtès authored
* src/libexpr/expr-to-xml.cc (nix::showAttrs): Add `location' parameter. Provide location XML attributes when it's true. Update callers. (nix::printTermAsXML): Likewise. * src/libexpr/expr-to-xml.hh (nix::printTermAsXML): Update prototype; have `location' default to `false'. * src/nix-instantiate/nix-instantiate.cc (printResult, processExpr): Add `location' parameter; update callers. (run): Add support for `--no-location'. * src/nix-instantiate/help.txt: Update accordingly. * tests/lang.sh: Invoke `nix-instantiate' with `--no-location' for the XML tests. * tests/lang/eval-okay-toxml.exp, tests/lang/eval-okay-to-xml.nix: New files.
-
Ludovic Courtès authored
* src/libexpr/expr-to-xml.cc (nix::showAttrs): Dereference the attribute RHS. Add "path", "line", and "column" XML attributes to the node when source location information is available. (nix::printTermAsXML): Likewise for functions.
-
- Mar 25, 2010
-
-
Eelco Dolstra authored
allowed. So `name1@name2', `{attrs1}@{attrs2}' and so on are now no longer legal. This is no big loss because they were not useful anyway. This also changes the output of builtins.toXML for @-patterns slightly.
-
- Aug 14, 2008
-
-
Eelco Dolstra authored
in attribute set pattern matches. This allows defining a function that takes *at least* the listed attributes, while ignoring additional attributes. For instance, {stdenv, fetchurl, fuse, ...}: stdenv.mkDerivation { ... }; defines a function that requires an attribute set that contains the specified attributes but ignores others. The main advantage is that we can then write in all-packages.nix aefs = import ../bla/aefs pkgs; instead of aefs = import ../bla/aefs { inherit stdenv fetchurl fuse; }; This saves a lot of typing (not to mention not having to update all-packages.nix with purely mechanical changes). It saves as much typing as the "args: with args;" style, but has the advantage that the function arguments are properly declared (not implicit in what the body of the "with" uses).
-
Eelco Dolstra authored
f = args @ {x, y, z}: ...; `args' refers to the argument as a whole, which is further pattern-matched against the attribute set pattern {x, y, z}.
-
Eelco Dolstra authored
functions that take a single argument (plain lambdas) into one AST node (Function) that contains a Pattern node describing the arguments. Current patterns are single lazy arguments (VarPat) and matching against an attribute set (AttrsPat). This refactoring allows other kinds of patterns to be added easily, such as Haskell-style @-patterns, or list pattern matching.
-
- Aug 11, 2008
-
-
Eelco Dolstra authored
-
- May 21, 2008
-
-
Eelco Dolstra authored
Armijn Hemel.
-
- Jan 13, 2007
-
-
Eelco Dolstra authored
<derivation outPath=... drvPath=...> attrs </derivation>. Only emit the attributes of any specific derivation only. This prevents exponententially large XML output due to the absense of sharing.
-
Eelco Dolstra authored
-
Eelco Dolstra authored
-
- Oct 16, 2006
-
-
Eelco Dolstra authored
concatenation and string coercion. This was a big mess (see e.g. NIX-67). Contexts are now folded into strings, so that they don't cause evaluation errors when they're not expected. The semantics of paths has been clarified (see nixexpr-ast.def). toString() and coerceToString() have been merged. Semantic change: paths are now copied to the store when they're in a concatenation (and in most other situations - that's the formalisation of the meaning of a path). So "foo " + ./bla evaluates to "foo /nix/store/hash...-bla", not "foo /path/to/current-dir/bla". This prevents accidental impurities, and is more consistent with the treatment of derivation outputs, e.g., `"foo " + bla' where `bla' is a derivation. (Here `bla' would be replaced by the output path of `bla'.)
-
- Oct 11, 2006
-
-
Eelco Dolstra authored
kind of notation for strings.
-
- Oct 03, 2006
-
-
Eelco Dolstra authored
argument.
-
- Sep 04, 2006
-
-
Eelco Dolstra authored
* Optimise header file usage a bit. * Compile the parser as C++.
-
- Aug 24, 2006
-
-
Eelco Dolstra authored
-