about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
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 Re-add `drvPath' and `outPath' attributes to <derivation> XML nodes.Ludovic Courtès1-5/+7
This fixes a regression introduced in r20882 ("Add source location information to the XML output."). * src/libexpr/expr-to-xml.cc (nix::printTermAsXML): Dereference the attribute RHS from "drvPath" and "outPath".
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).
2010-04-01 * Improve sharing.Eelco Dolstra3-19/+25
2010-04-01 * Functions are incomparable.Eelco Dolstra1-6/+13
2010-04-01 * Make `derivation' lazy again for performance. It also turns outEelco Dolstra3-37/+17
that there are some places in Nixpkgs (php_configurable / composableDerivation, it seems) that call `derivation' with incorrect arguments (namely, the `name' attribute missing) but get away with it because of laziness.
2010-03-31 * Fixed the trace primop and path comparison.Eelco Dolstra2-41/+11
* Removed exprToString and stringToExpr because there is no ATerm representation to work on anymore (and exposing the internals of the evaluator like this is not a good idea anyway).
2010-03-31 * Handle string contexts. `nix-instantiate' can now correctly computeEelco Dolstra3-65/+28
the `firefoxWrapper' attribute in Nixpkgs, and it's about 3 times faster than the trunk :-)
2010-03-31 * Get nix-env to compile.Eelco Dolstra2-38/+38
2010-03-31 * Cache parse trees to prevent repeated parsing of imported NixEelco Dolstra3-7/+10
expressions.
2010-03-31 * Implemented derivations.Eelco Dolstra6-193/+184
2010-03-31 (no commit message)Eelco Dolstra1-1/+0
2010-03-31 * Fix the broken test for listToAttrs.Eelco Dolstra2-2/+5
2010-03-31 Make source location info in the XML output optional.Ludovic Courtès7-19/+29
* 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.
2010-03-31 * Implemented `rec { inherit ...; }'.Eelco Dolstra2-0/+17
2010-03-31 * Compare nulls.Eelco Dolstra1-2/+5
2010-03-31 Add source location information to the XML output.Ludovic Courtès1-5/+33
* 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.
2010-03-31 Escape `>' signs in the XML output.Ludovic Courtès1-0/+1
* src/libutil/xml-writer.cc (nix::XMLWriter::writeAttrs): Escape `>'.
2010-03-30 * More primops.Eelco Dolstra3-91/+109
2010-03-30 * More operators / primops.Eelco Dolstra5-187/+145
2010-03-30 * More primops.Eelco Dolstra4-184/+92
2010-03-30 * More primops.Eelco Dolstra4-96/+55
2010-03-30 * Implemented `map'.Eelco Dolstra4-108/+139