summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)Author
2003-11-19* Refactoring (step 2).Eelco Dolstra
2003-11-19* Refactoring: put the Nix expression evaluator in its own library soEelco Dolstra
that it can be used by multiple programs.
2003-11-19* Use `sdftable -s' to get warnings about the grammar.Eelco Dolstra
* Several bug fixes in the grammar. * Allow one-line comments (#... and //...) to end in EOF.
2003-11-18* "Fix expression" -> "Nix expression".Eelco Dolstra
* More refactoring.
2003-11-18* nix -> nix-store, fix -> nix-instantiate.Eelco Dolstra
2003-11-18* "Nix expression" -> "store expression".Eelco Dolstra
* More refactoring.
2003-11-18* libnix -> libstore.Eelco Dolstra
2003-11-18* Source tree refactoring.Eelco Dolstra
2003-11-16* An forward non-random access input iterator class for ATermLists.Eelco Dolstra
2003-11-16* Some utility functions for working with ATerms.Eelco Dolstra
2003-11-10* Do not filter when parsing. This is much faster.Eelco Dolstra
* Add some rejections and lexical restrictions to the grammar to make this work.
2003-11-09* Turned the msg() and debug() functions into macros, since theyEelco Dolstra
turned out to be a huge performance bottleneck (the text to printed would always be evaluated, even when it was above the verbosity level). This reduces fix-ng execution time by over 50%. gprof(1) is very useful. :-)
2003-11-06* Allow null in derivation bindings.Eelco Dolstra
2003-11-06* `null' is a nullary primop.Eelco Dolstra
2003-11-06* Allow `+' in path names.Eelco Dolstra
2003-11-05* Assertions.Eelco Dolstra
* Logical operators (!, &&, ||, ->).
2003-11-05* Print a shared textual ATerm if the term if very large. Due to Eelco Dolstra
substitutions, Fix terms are very large when printed as trees (in memory, they are quite compact due to sharing).
2003-11-05* Default function arguments.Eelco Dolstra
2003-11-03* Work around problems with the ATerm library.Eelco Dolstra
The ATerm library doesn't search the heap for pointers to ATerms when garbage collecting. As a result, C++ containers such as `map<ATerm, ATerm>' will cause pointer to be hidden from the garbage collector, causing crashes. Instead, we now use ATermTables.
2003-11-03* Ignore options passed to the aterm library.Eelco Dolstra
2003-11-03* Shorter list syntax ([a b c] instead of [a, b, c]).Eelco Dolstra
2003-11-03* Grammar changes. Attributes in attribute sets are now delimited with Eelco Dolstra
semicolons instead of comma's. Final semicolon in the set is optional.
2003-11-02* Boolean constants.Eelco Dolstra
2003-11-02* Primops: baseNameOf, toString.Eelco Dolstra
2003-11-01* Fast builds.Eelco Dolstra
2003-11-01* Print the exit code of the builder. Eelco Dolstra
2003-11-01* Conditions, string equality.Eelco Dolstra
2003-11-01* Let syntax.Eelco Dolstra
2003-11-01* Filter the substitution list when descending into a recursiveEelco Dolstra
attribute set.
2003-10-31* Working evaluator.Eelco Dolstra
* Mutually recursive attribute sets. * Print evaluator efficiency statistics.
2003-10-31* Allow empty attribute (argument) sets.Eelco Dolstra
2003-10-31* Use SGparseString() instead of SGparseFile() because the latter isEelco Dolstra
buggy. It fails to clear an internal variable (SG_textIndex) between invocations, so it can be called only once during a program execution.
2003-10-30* Factor out evaluation into a separate file.Eelco Dolstra
2003-10-30* Clean up the imploded parse tree. Quotes around strings areEelco Dolstra
removed, paths are absolutised relative to the path containing the expression we just parsed, and integer literals are converted to actual integers.
2003-10-30* Bottomup rewrite function.Eelco Dolstra
2003-10-30* Don't use a search path.Eelco Dolstra
2003-10-30* Attribute selection operator.Eelco Dolstra
2003-10-29* Basic grammar and parser for the Fix language. We use libsglr andEelco Dolstra
friends to do the parsing. The parse table is embedded in the Fix executable using bin2c, which converts an arbitrary file into a C character array.
2003-10-29* Forked new version of Fix.Eelco Dolstra
2003-10-23* Fix a race condition in addTextToStore().Eelco Dolstra
2003-10-22* Use writeFull().Eelco Dolstra
2003-10-22* Ad hoc per-package logging. When Nix performs a derivation, it nowEelco Dolstra
writes stdout/stderr of the builder to ${prefix}/var/log/nix/x, where x is the file name of the derivation expression, e.g., /nix/var/log/nix/54256391624be04fcb426048ae3ea0a4-d-pan-0.14.2.nix Note that consecutive builds of the same expression overwrite, rather than append to, existing log files.
2003-10-22* Dead code removal.Eelco Dolstra
2003-10-22* Some wrapper classes to ensure that file descriptors / directoryEelco Dolstra
handles are closed when they go out of scope.
2003-10-20* Finished refactoring the tree.Eelco Dolstra
2003-10-20* Refactored the source tree.Eelco Dolstra
2003-10-16* Substitutes and nix-pull now work again.Eelco Dolstra
* Fixed a segfault caused by the buffering of stderr. * Fix now allows the specification of the full output path. This should be used with great care, since it by-passes the normal hash generation. * Incremented the version number to 0.4 (prerelease).
2003-10-16* Enable buffering of stderr in C++.Eelco Dolstra
2003-10-16* Upgraded to Berkeley DB 4.1.25 and do not synchronously flush theEelco Dolstra
log on commit. This means that there is a small change that some transactions may be rolled back in case of a system crash, but this should not be a problem (it merely might cause some expression realisations to be rolled back), and it vastly improves performance. * Upgraded to ATerm 2.0.5 (which also includes Armijn's 64-bit patches).
2003-10-16* Don't sort the result of `--query --list'.Eelco Dolstra