about summary refs log tree commit diff
path: root/src/libexpr/eval-test.cc
AgeCommit message (Collapse)AuthorFilesLines
2010-04-15 * Store lists as lists of pointers to values rather than as lists ofEelco Dolstra1-0/+1
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 * Implemented inherit.Eelco Dolstra1-1/+4
2010-04-14 * Implemented withs.Eelco Dolstra1-1/+2
2010-04-14 * After parsing, compute level/displacement pairs for each variableEelco Dolstra1-2/+3
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-13 * Use a symbol table to represent identifiers and attribute namesEelco Dolstra1-1/+24
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 Dolstra1-2/+2
2010-04-12 * Indented strings.Eelco Dolstra1-0/+1
2010-04-12 * More missing constructs.Eelco Dolstra1-3/+5
2010-04-12 * Don't use ATerms for the abstract syntax trees anymore. NotEelco Dolstra1-10/+12
finished yet.
2010-04-12 (no commit message)Eelco Dolstra1-55/+58
2010-04-07 * Implemented the primops necessary for generating the NixOS manual.Eelco Dolstra1-1/+4
2010-03-31 * Implemented `rec { inherit ...; }'.Eelco Dolstra1-0/+3
2010-03-30 * More operators / primops.Eelco Dolstra1-0/+1
2010-03-30 * More primops.Eelco Dolstra1-2/+4
2010-03-30 * Implemented `map'.Eelco Dolstra1-0/+2
2010-03-30 * Make `import' work.Eelco Dolstra1-1/+3
2010-03-29 * Started integrating the new evaluator.Eelco Dolstra1-661/+1
2010-03-29 (no commit message)Eelco Dolstra1-0/+32
2010-03-29 (no commit message)Eelco Dolstra1-0/+1
2010-03-29 (no commit message)Eelco Dolstra1-12/+55
2010-03-28 * Strings.Eelco Dolstra1-0/+45
2010-03-28 (no commit message)Eelco Dolstra1-53/+51
2010-03-28 * Implemented multi-argument primops.Eelco Dolstra1-9/+36
2010-03-26 * Primops (not yet finished).Eelco Dolstra1-16/+114
2010-03-26 * Implemented the `==' and `!=' operators. These now use a deepEelco Dolstra1-0/+67
equality test, so they also work for (finite) attribute sets and lists.
2010-03-25 * Measure stack usage.Eelco Dolstra1-3/+11
2010-03-25 * Implemented lists.Eelco Dolstra1-7/+63
2010-03-25 * Quick and dirty implementation of `with'. `with e1; e2' isEelco Dolstra1-6/+55
basically desugared to `let <with> = e1; e2', and `lookupVar' looks in each <with> in the environment chain for an attribute with the specified name.
2010-03-25 * Don't convert variable names to strings.Eelco Dolstra1-12/+15
2010-03-25 * Implement blackholing.Eelco Dolstra1-8/+9
2010-03-25 * Implement `...' and default function arguments.Eelco Dolstra1-7/+31
2010-03-25 * Simplify @-patterns: only `{attrs}@name' or `name@{attrs}' are nowEelco Dolstra1-98/+38
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.
2010-03-24 * Implemented attribute set pattern matches.Eelco Dolstra1-13/+117
2010-03-24 * Store values in environments.Eelco Dolstra1-64/+66
2010-03-24 * Reduce the number of value allocations in eval() by movingEelco Dolstra1-26/+38
responsibility for allocation of the result to the caller.
2010-03-24 * Plain lambdas.Eelco Dolstra1-2/+38
2010-03-23 * Start of an evaluator that uses call-by-need (with thunk updating)Eelco Dolstra1-0/+191
instead of (memoised) call-by-name.