about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2003-11-09 * Turned the msg() and debug() functions into macros, since theyEelco Dolstra10-45/+60
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 Dolstra1-0/+2
2003-11-06 * `null' is a nullary primop.Eelco Dolstra3-5/+4
2003-11-06 * Allow `+' in path names.Eelco Dolstra1-1/+1
2003-11-05 * Assertions.Eelco Dolstra6-16/+77
* Logical operators (!, &&, ||, ->).
2003-11-05 * Print a shared textual ATerm if the term if very large. Due to Eelco Dolstra1-1/+9
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 Dolstra3-9/+17
2003-11-03 * Work around problems with the ATerm library.Eelco Dolstra5-55/+182
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 Dolstra1-2/+5
2003-11-03 * Shorter list syntax ([a b c] instead of [a, b, c]).Eelco Dolstra3-8/+15
2003-11-03 * Grammar changes. Attributes in attribute sets are now delimited with Eelco Dolstra2-36/+24
semicolons instead of comma's. Final semicolon in the set is optional.
2003-11-02 * Boolean constants.Eelco Dolstra4-5/+24
2003-11-02 * Primops: baseNameOf, toString.Eelco Dolstra4-4/+30
2003-11-01 * Fast builds.Eelco Dolstra1-10/+3
2003-11-01 * Print the exit code of the builder. Eelco Dolstra2-3/+10
2003-11-01 * Conditions, string equality.Eelco Dolstra2-6/+24
2003-11-01 * Let syntax.Eelco Dolstra2-0/+14
2003-11-01 * Filter the substitution list when descending into a recursiveEelco Dolstra1-1/+14
attribute set.
2003-10-31 * Working evaluator.Eelco Dolstra10-309/+540
* Mutually recursive attribute sets. * Print evaluator efficiency statistics.
2003-10-31 * Allow empty attribute (argument) sets.Eelco Dolstra1-1/+1
2003-10-31 * Use SGparseString() instead of SGparseFile() because the latter isEelco Dolstra1-2/+23
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 Dolstra4-56/+87
2003-10-30 * Clean up the imploded parse tree. Quotes around strings areEelco Dolstra4-11/+57
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 Dolstra2-0/+60
2003-10-30 * Don't use a search path.Eelco Dolstra1-4/+5
2003-10-30 * Attribute selection operator.Eelco Dolstra1-1/+5
2003-10-29 * Basic grammar and parser for the Fix language. We use libsglr andEelco Dolstra6-7/+298
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 Dolstra3-1/+497
2003-10-23 * Fix a race condition in addTextToStore().Eelco Dolstra1-7/+12
2003-10-22 * Use writeFull().Eelco Dolstra1-2/+1
2003-10-22 * Ad hoc per-package logging. When Nix performs a derivation, it nowEelco Dolstra3-6/+8
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 Dolstra1-94/+0
2003-10-22 * Some wrapper classes to ensure that file descriptors / directoryEelco Dolstra6-56/+123
handles are closed when they go out of scope.
2003-10-20 * Finished refactoring the tree.Eelco Dolstra8-59/+71
2003-10-20 * Refactored the source tree.Eelco Dolstra50-1/+2348
2003-10-16 * Substitutes and nix-pull now work again.Eelco Dolstra9-30/+79
* 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 Dolstra1-0/+4
2003-10-16 * Upgraded to Berkeley DB 4.1.25 and do not synchronously flush theEelco Dolstra1-4/+5
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 Dolstra1-6/+4
2003-10-15 * Refactoring: move all database manipulation into store.cc.Eelco Dolstra10-170/+143
* Removed `--query --generators'.
2003-10-14 * Automatically recover the database in case of a crash.Eelco Dolstra6-38/+201
2003-10-10 * New query `nix --query --predecessors' to print the predecessors ofEelco Dolstra5-2/+29
a Nix expression.
2003-10-10 * `nix --verify': check and repair reverse mapping for successors.Eelco Dolstra2-89/+33
2003-10-10 * Reverse mappings for the successor and substitute mappings.Eelco Dolstra6-25/+66
2003-10-10 * Performance improvement: don't register already registered terms,Eelco Dolstra1-5/+8
thus greatly reducing the number of db transactions.
2003-10-08 * Get rid of identifiers since they are redundant now. This greatlyEelco Dolstra23-624/+478
simplifies stuff. * The format of Nix expressions and the database schema changed because of this, so it's best to delete old Nix installations.
2003-10-07 * string -> Path.Eelco Dolstra2-20/+26
2003-10-07 * Synchronise terminology with the ICSE paper (e.g., slice -> closure,Eelco Dolstra14-266/+252
fstate -> Nix expression). * Fix src/test.cc.
2003-10-02 * Include the right files in a distribution.Eelco Dolstra1-1/+1
2003-10-02 * Nix now respects $TMPDIR for the creation of temporary build directories.Eelco Dolstra3-5/+24
* Retry creation of a temporary directory (with a different name) in the case of EEXIST.