about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2010-04-22 * Simplify the implementation of `with'. This gives a 7% speedup inEelco Dolstra4-30/+15
evaluating the NixOS system configuration.
2010-04-22 (no commit message)Eelco Dolstra1-1/+1
2010-04-22 * Check for duplicate attribute names / function arguments. `makeEelco Dolstra5-45/+58
check' now succeeds :-) * An attribute set such as `{ foo = { enable = true; }; foo.port = 23; }' now parses. It was previously rejected, but I'm too lazy to implement the check. (The only reason to reject it is that the reverse, `{ foo.port = 23; foo = { enable = true; }; }', is rejected, which is kind of ugly.)
2010-04-22 * String equality tests should take the context into account. All theEelco Dolstra2-4/+12
evaluation test cases now succeed.
2010-04-21 * Don't use an ostringstream in unparseDerivation(), because it'sEelco Dolstra1-38/+39
slow. A `nix-env -qa --drv-path \*' on Nixpkgs was spending 40% of its time in unparseDerivation() because of this (now 11%).
2010-04-21 * Update the expected test output (no longer an ATerm).Eelco Dolstra35-39/+38
2010-04-21 * Fix the interpretation of ''\<character> in indented strings.Eelco Dolstra1-1/+1
2010-04-21 * Because --parse-only no longer produces an ATerm, don't check theEelco Dolstra6-10/+1
output. Whether it parses at all should be enough.
2010-04-21 * Fixed builtins.genericClosure.Eelco Dolstra3-26/+62
2010-04-21 * Store user environment manifests as a Nix expression inEelco Dolstra11-183/+205
$out/manifest.nix rather than as an ATerm. (Hm, I thought I committed this two days ago...)
2010-04-19 * Drop the dependency on the ATerm library.Eelco Dolstra21-413/+32
2010-04-19 * Don't use the ATerm library for parsing/printing .drv files.Eelco Dolstra14-330/+174
2010-04-19 * Added parsing of manifests in ATerm format.Eelco Dolstra3-13/+165
2010-04-19 * Refactoring: move the user environment stuff into its own module.Eelco Dolstra4-20/+47
2010-04-16 * Updated some more primops.Eelco Dolstra3-58/+37
2010-04-16 * _combineChannels shouldn't be an integer.Eelco Dolstra1-1/+1
2010-04-16 * Improve sharing a bit.Eelco Dolstra2-5/+8
2010-04-16 * Remove some redundant tests.Eelco Dolstra1-3/+3
2010-04-16 * In an nested `with' where the inner with is a variable (`with ...;Eelco Dolstra3-7/+15
with someVar; ...'), the contents of the variable would be clobbered. (The attributes in the outer `with' were added to the variable.)
2010-04-15 * Store lists as lists of pointers to values rather than as lists ofEelco Dolstra7-34/+41
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.
2010-04-14 * Better stats.Eelco Dolstra2-5/+16
2010-04-14 * Implemented inherit.Eelco Dolstra4-29/+34
2010-04-14 * Fix builtins.Eelco Dolstra4-28/+30
2010-04-14 * Refactoring: move variable uses to a separate class.Eelco Dolstra4-35/+31
2010-04-14 * Implemented withs.Eelco Dolstra4-15/+38
2010-04-14 * After parsing, compute level/displacement pairs for each variableEelco Dolstra7-135/+250
use site, allowing environments to be stores as vectors of values rather than maps. This should speed up evaluation and reduce the number of allocations.
2010-04-14 * Remove more obsolete code.Eelco Dolstra5-503/+2
2010-04-14 * Get nix-env to compile again.Eelco Dolstra1-29/+14
2010-04-14 * Change the semantics of "with" so that inner "withs" takeEelco Dolstra2-25/+2
precedence, i.e. `with {x=1;}; with {x=2;}; x' evaluates to 2'. This has a simpler implementation and seems more natural. There doesn't seem to be any code in Nixpkgs or NixOS that relies on the old behaviour.
2010-04-13 * Use std::tr1::unordered_set instead of std::set for the symbolEelco Dolstra2-1/+8
table. This gives a 10% speed increase on `nix-instantiate /etc/nixos/nixos -A system --readonly-mode'.
2010-04-13 * Evaluate lets directly (i.e. without desugaring to `rec { attrs...;Eelco Dolstra5-1/+45
<let-body> = e; }.<let-body>). This prevents the unnecessary allocation of an attribute set.
2010-04-13 * Use a symbol table to represent identifiers and attribute namesEelco Dolstra15-101/+228
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.
2010-04-12 * Finished the ATerm-less parser.Eelco Dolstra6-102/+68
2010-04-12 * Remove some obsolete functions.Eelco Dolstra2-52/+0
2010-04-12 * Indented strings.Eelco Dolstra7-70/+65
2010-04-12 * More missing constructs.Eelco Dolstra6-137/+160
2010-04-12 * Don't use ATerms for the abstract syntax trees anymore. NotEelco Dolstra19-579/+693
finished yet.
2010-04-12 * Don't use ATerms to represent integers in the lexer.Eelco Dolstra2-3/+5
2010-04-12 * Hack to support builderDefs expressions.Eelco Dolstra1-1/+7
2010-04-12 * Doh.Eelco Dolstra1-1/+1
2010-04-12 (no commit message)Eelco Dolstra1-55/+58
2010-04-09 * Keep more statistics about stack space usage.Eelco Dolstra2-43/+78
* Reduce stack space usage.
2010-04-08 * Remove a lot of dead code.Eelco Dolstra4-763/+10
2010-04-08 * Fix blackholing. If evaluation fails due to an assertion failure,Eelco Dolstra1-2/+8
then the blackhole has to be removed to ensure that repeated evaluation of the same value gives an assertion failure again rather than an "infinite recursion" error.
2010-04-07 * Update autoCallFunction() and findAlongAttrPath().Eelco Dolstra10-188/+120
2010-04-07 * expr-to-xml -> value-to-xml.Eelco Dolstra5-10/+15
2010-04-07 * Implemented the primops necessary for generating the NixOS manual.Eelco Dolstra8-145/+159
2010-04-06 * In eval(), don't use the target value `v' as a temporary.Eelco Dolstra1-13/+17
Overwriting `v' breaks when the expression evaluation to an assertion failure or throw.
2010-04-01 * Removed the `~' operator.Eelco Dolstra3-3/+1
2010-04-01 * Quick hack to make coerceToString work more or less correctly onEelco Dolstra1-1/+4
nested lists. `nix-instantiate' can now evaluate the NixOS system derivation attribute correctly (in 2.1s on my laptop vs. 6.2s for the trunk).