Commit graph

  • 83d7b89660 * Updated addErrorContext. Eelco Dolstra 2010-05-07 12:33:14 +0000
  • e2d5e40f4f * Keep track of the source positions of attributes. Eelco Dolstra 2010-05-07 12:11:05 +0000
  • 84ce7ac76f * Store attribute positions in the AST and report duplicate attribute errors with position info. * For all positions, use the position of the first character of the first token, rather than the last character of the first token plus one. Eelco Dolstra 2010-05-06 16:46:48 +0000
  • 4750065ada buildenv: Special-case Python's site.py' and site.pyc'. Ludovic Courtès 2010-05-05 20:46:41 +0000
  • a0e3b84fac * Revert r15436. This was a workaround for a bug in btrfs which seems to have been fixed now. Eelco Dolstra 2010-05-04 12:42:58 +0000
  • f92c9a0ac5 * Allow unprivileged users to do nix-store --clear-failed-paths' and nix-store --query-failed-paths'. Eelco Dolstra 2010-05-04 10:45:10 +0000
  • 4bab25a28d buildenv: Special-case Python's `easy-install.pth' files. Ludovic Courtès 2010-05-03 13:13:38 +0000
  • 7fa338f4ba * Don't use smart quotes where normal ASCII quotes are intended. Actually, don't use quotes at all. (Reported by Howard B. Golden.) Eelco Dolstra 2010-05-02 21:27:50 +0000
  • c82782f9a5 Eelco Dolstra 2010-04-27 09:05:11 +0000
  • c778ed1768 * Fix the copy-from-other-stores substituter. Eelco Dolstra 2010-04-26 13:39:55 +0000
  • ef337f7089 Eelco Dolstra 2010-04-26 12:58:12 +0000
  • 6199f9b93e * Added a command nix-store --clear-failed-paths <PATHS>' to clear the "failed" status of the given store paths. The special value *' clears all failed paths. Eelco Dolstra 2010-04-26 12:56:42 +0000
  • 2398af13c5 * Add an command nix-store --query-failed-paths' to list the cached failed paths (when using the build-cache-failure' option). Eelco Dolstra 2010-04-26 12:43:42 +0000
  • d77331d32f Fixing a typo in the nix-store manual, that could confuse a bit too much (--delete/--gc) Lluís Batlle i Rossell 2010-04-25 20:52:49 +0000
  • 2be6118f4c * Don't need the test program anymore. Eelco Dolstra 2010-04-23 09:09:32 +0000
  • 0bc468f195 * Simplify the implementation of `with'. This gives a 7% speedup in evaluating the NixOS system configuration. Eelco Dolstra 2010-04-22 15:08:09 +0000
  • ee0384fb96 Eelco Dolstra 2010-04-22 11:34:15 +0000
  • ebade9ff8b * Check for duplicate attribute names / function arguments. make 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.) Eelco Dolstra 2010-04-22 11:02:24 +0000
  • 2d7636529f * String equality tests should take the context into account. All the evaluation test cases now succeed. Eelco Dolstra 2010-04-22 09:54:11 +0000
  • 6bbfe95e30 * Don't use an ostringstream in unparseDerivation(), because it's slow. A `nix-env -qa --drv-path \*' on Nixpkgs was spending 40% of its time in unparseDerivation() because of this (now 11%). Eelco Dolstra 2010-04-21 19:25:50 +0000
  • 7148df7971 * Update the expected test output (no longer an ATerm). Eelco Dolstra 2010-04-21 16:22:03 +0000
  • 6f0f16497a * Fix the interpretation of ''\<character> in indented strings. Eelco Dolstra 2010-04-21 16:18:27 +0000
  • cae4efdca3 * Because --parse-only no longer produces an ATerm, don't check the output. Whether it parses at all should be enough. Eelco Dolstra 2010-04-21 16:02:12 +0000
  • 0777448ca6 * Fixed builtins.genericClosure. Eelco Dolstra 2010-04-21 15:57:11 +0000
  • fe2d869e04 * Store user environment manifests as a Nix expression in $out/manifest.nix rather than as an ATerm. Eelco Dolstra 2010-04-21 15:08:58 +0000
  • d66ea83a76 * Sync with the trunk. Eelco Dolstra 2010-04-20 09:20:29 +0000
  • f3b8833a48 * Drop the dependency on the ATerm library. Eelco Dolstra 2010-04-19 14:51:58 +0000
  • efc7a579e8 * Don't use the ATerm library for parsing/printing .drv files. Eelco Dolstra 2010-04-19 13:46:58 +0000
  • 55b5ddd3ca * Added parsing of manifests in ATerm format. Eelco Dolstra 2010-04-19 12:10:04 +0000
  • b7ff69eb7c * Refactoring: move the user environment stuff into its own module. Eelco Dolstra 2010-04-19 10:47:56 +0000
  • 5c31995bb8 * Updated some more primops. Eelco Dolstra 2010-04-16 15:13:47 +0000
  • 8bb0210fea * _combineChannels shouldn't be an integer. Eelco Dolstra 2010-04-16 14:07:52 +0000
  • 8ca4a001cb * Improve sharing a bit. Eelco Dolstra 2010-04-16 14:03:26 +0000
  • 497e4ad126 * Remove some redundant tests. Eelco Dolstra 2010-04-16 13:51:01 +0000
  • 02c1dac909 * In an nested with' where the inner with is a variable (with ...; with someVar; ...'), the contents of the variable would be clobbered. (The attributes in the outer `with' were added to the variable.) Eelco Dolstra 2010-04-16 13:44:02 +0000
  • 04c4bd3624 * Store lists as lists of pointers to values rather than as lists of 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. Eelco Dolstra 2010-04-15 00:37:36 +0000
  • e41b5828db * Better stats. Eelco Dolstra 2010-04-14 23:48:46 +0000
  • d39d3c6264 * Implemented inherit. Eelco Dolstra 2010-04-14 23:25:05 +0000
  • 267dc693d2 * Fix builtins. Eelco Dolstra 2010-04-14 22:59:39 +0000
  • 81de12bc8f * Refactoring: move variable uses to a separate class. Eelco Dolstra 2010-04-14 15:14:23 +0000
  • 110d155778 * Implemented withs. Eelco Dolstra 2010-04-14 15:01:04 +0000
  • 9985230c00 * After parsing, compute level/displacement pairs for each variable 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. Eelco Dolstra 2010-04-14 14:42:32 +0000
  • 816dd3f061 * Remove more obsolete code. Eelco Dolstra 2010-04-14 12:49:05 +0000
  • 011b5da0f4 * Get nix-env to compile again. Eelco Dolstra 2010-04-14 09:39:06 +0000
  • 85d13c8f93 * Change the semantics of "with" so that inner "withs" take 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. Eelco Dolstra 2010-04-14 08:37:08 +0000
  • 816f9c0f6f * Use std::tr1::unordered_set instead of std::set for the symbol table. This gives a 10% speed increase on `nix-instantiate /etc/nixos/nixos -A system --readonly-mode'. Eelco Dolstra 2010-04-13 14:34:11 +0000
  • 7d47498b5e * Evaluate lets directly (i.e. without desugaring to `rec { attrs...; <let-body> = e; }.<let-body>). This prevents the unnecessary allocation of an attribute set. Eelco Dolstra 2010-04-13 13:42:25 +0000
  • ac1e8f40d4 * Use a symbol table to represent identifiers and attribute names 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. Eelco Dolstra 2010-04-13 12:25:42 +0000
  • 10e8b1fd15 * Finished the ATerm-less parser. Eelco Dolstra 2010-04-12 23:33:23 +0000
  • 0d272fca79 * Remove some obsolete functions. Eelco Dolstra 2010-04-12 23:31:47 +0000
  • d4f0b0fc6c * Indented strings. Eelco Dolstra 2010-04-12 22:03:27 +0000
  • a60317f20f * More missing constructs. Eelco Dolstra 2010-04-12 21:21:24 +0000
  • 4d6ad5be17 * Don't use ATerms for the abstract syntax trees anymore. Not finished yet. Eelco Dolstra 2010-04-12 18:30:11 +0000
  • ed711f73bc * Don't use ATerms to represent integers in the lexer. Eelco Dolstra 2010-04-12 10:38:18 +0000
  • db90b88e65 * Hack to support builderDefs expressions. Eelco Dolstra 2010-04-12 09:50:20 +0000
  • 4e49002576 * Doh. Eelco Dolstra 2010-04-12 09:45:00 +0000
  • c3f228f296 Eelco Dolstra 2010-04-12 09:14:27 +0000
  • aac5fcfbb5 Re-add drvPath' and outPath' attributes to <derivation> XML nodes. Ludovic Courtès 2010-04-09 21:30:55 +0000
  • f3dc7ab877 * Keep more statistics about stack space usage. * Reduce stack space usage. Eelco Dolstra 2010-04-09 12:00:49 +0000
  • b7b3dd55f9 * Remove a lot of dead code. Eelco Dolstra 2010-04-08 11:41:19 +0000
  • 7e048eddf5 * Fix blackholing. If evaluation fails due to an assertion failure, 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. Eelco Dolstra 2010-04-08 11:25:14 +0000
  • af2a372bb0 * Update autoCallFunction() and findAlongAttrPath(). Eelco Dolstra 2010-04-07 15:47:06 +0000
  • 9a64454faa * expr-to-xml -> value-to-xml. Eelco Dolstra 2010-04-07 13:59:45 +0000
  • fc92244ba8 * Implemented the primops necessary for generating the NixOS manual. Eelco Dolstra 2010-04-07 13:55:46 +0000
  • a353aef0b1 * In eval(), don't use the target value v' as a temporary. Overwriting v' breaks when the expression evaluation to an assertion failure or throw. Eelco Dolstra 2010-04-06 14:15:29 +0000
  • a5ece7d016 * Removed the `~' operator. Eelco Dolstra 2010-04-01 16:59:07 +0000
  • c172274e17 * Quick hack to make coerceToString work more or less correctly on 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). Eelco Dolstra 2010-04-01 14:35:03 +0000
  • 7b851915bf * Improve sharing. Eelco Dolstra 2010-04-01 12:04:57 +0000
  • 95cc417d76 * Functions are incomparable. Eelco Dolstra 2010-04-01 10:55:36 +0000
  • 71f026292b * Make derivation' lazy again for performance. It also turns out 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. Eelco Dolstra 2010-04-01 09:55:57 +0000
  • dc31305b38 * Fixed the trace primop and path comparison. * 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). Eelco Dolstra 2010-03-31 20:09:20 +0000
  • 979f163615 * Handle string contexts. nix-instantiate' can now correctly compute the firefoxWrapper' attribute in Nixpkgs, and it's about 3 times faster than the trunk :-) Eelco Dolstra 2010-03-31 19:52:29 +0000
  • d8cd3115d8 * Get nix-env to compile. Eelco Dolstra 2010-03-31 19:12:08 +0000
  • 55e207b2dc * Cache parse trees to prevent repeated parsing of imported Nix expressions. Eelco Dolstra 2010-03-31 16:14:32 +0000
  • 3d94be61ea * Implemented derivations. Eelco Dolstra 2010-03-31 15:38:03 +0000
  • 5187678913 Eelco Dolstra 2010-03-31 15:14:23 +0000
  • f061086a93 * Fix the broken test for listToAttrs. Eelco Dolstra 2010-03-31 13:35:29 +0000
  • 09381cccff Make source location info in the XML output optional. Ludovic Courtès 2010-03-31 12:38:31 +0000
  • 13c2adc897 * Implemented `rec { inherit ...; }'. Eelco Dolstra 2010-03-31 11:05:39 +0000
  • 4c53ca2692 * Compare nulls. Eelco Dolstra 2010-03-31 09:54:12 +0000
  • 471419d1fa Add source location information to the XML output. Ludovic Courtès 2010-03-31 08:29:05 +0000
  • eb07a4f1ee Escape `>' signs in the XML output. Ludovic Courtès 2010-03-31 08:29:01 +0000
  • 7f19e03c65 * More primops. Eelco Dolstra 2010-03-30 22:39:48 +0000
  • 47df476daa * More operators / primops. Eelco Dolstra 2010-03-30 18:05:54 +0000
  • c9170be2bd * More primops. Eelco Dolstra 2010-03-30 15:18:20 +0000
  • c3aa615a5f * More primops. Eelco Dolstra 2010-03-30 14:39:27 +0000
  • 5b72d8a749 * Implemented `map'. Eelco Dolstra 2010-03-30 13:47:59 +0000
  • d78a05ab40 * Make `import' work. Eelco Dolstra 2010-03-30 09:22:33 +0000
  • 31428c3a06 * Started integrating the new evaluator. Eelco Dolstra 2010-03-29 14:37:56 +0000
  • 52090d2418 Eelco Dolstra 2010-03-29 10:13:51 +0000
  • e3f32ac5af Eelco Dolstra 2010-03-29 09:43:55 +0000
  • 807a67bc74 Eelco Dolstra 2010-03-29 09:43:39 +0000
  • 392811eb8f * Strings. Eelco Dolstra 2010-03-28 18:27:07 +0000
  • d96cdcea6b Eelco Dolstra 2010-03-28 16:57:16 +0000
  • 3d2b835f30 * Implemented multi-argument primops. Eelco Dolstra 2010-03-28 16:37:39 +0000
  • 45d822f29c * Primops (not yet finished). Eelco Dolstra 2010-03-26 15:45:53 +0000
  • cad8726b2c * Implemented the ==' and !=' operators. These now use a deep equality test, so they also work for (finite) attribute sets and lists. Eelco Dolstra 2010-03-26 13:27:26 +0000
  • 8da118e4d0 * Measure stack usage. Eelco Dolstra 2010-03-25 16:35:24 +0000
  • c2ba4313fb * Implemented lists. Eelco Dolstra 2010-03-25 15:38:37 +0000
  • 25eedf085d * Quick and dirty implementation of with'. with e1; e2' is basically desugared to let <with> = e1; e2', and lookupVar' looks in each <with> in the environment chain for an attribute with the specified name. Eelco Dolstra 2010-03-25 14:51:04 +0000