about summary refs log tree commit diff
path: root/src/aterm-helper.pl
AgeCommit message (Collapse)AuthorFilesLines
2010-03-02 * Protect the `true', `false' and `__overrides' constants. WithoutEelco Dolstra1-2/+3
an ATprotect call, these could be garbage collected, leading to weird crashes or wrong results.
2006-10-16 * Big cleanup of the semantics of paths, strings, contexts, stringEelco Dolstra1-0/+1
concatenation and string coercion. This was a big mess (see e.g. NIX-67). Contexts are now folded into strings, so that they don't cause evaluation errors when they're not expected. The semantics of paths has been clarified (see nixexpr-ast.def). toString() and coerceToString() have been merged. Semantic change: paths are now copied to the store when they're in a concatenation (and in most other situations - that's the formalisation of the meaning of a path). So "foo " + ./bla evaluates to "foo /nix/store/hash...-bla", not "foo /path/to/current-dir/bla". This prevents accidental impurities, and is more consistent with the treatment of derivation outputs, e.g., `"foo " + bla' where `bla' is a derivation. (Here `bla' would be replaced by the output path of `bla'.)
2006-09-05 * Sone missing #includes.Eelco Dolstra1-0/+1
2006-09-04 * Use a proper namespace.Eelco Dolstra1-0/+10
* Optimise header file usage a bit. * Compile the parser as C++.
2006-05-02 * Optimise null-ary term builders. Also declare all term builderEelco Dolstra1-1/+14
functions as pure, which might improve performance a bit.
2005-02-09 * Automatically upgrade <= 0.7 Nix stores to the new schema (so thatEelco Dolstra1-1/+1
existing user environments continue to work). * `nix-store --verify': detect incomplete closures.
2005-01-19 * Support arities > 6.Eelco Dolstra1-1/+7
2005-01-17 * Removed the `id' attribute hack.Eelco Dolstra1-0/+4
* Formalise the notion of fixed-output derivations, i.e., derivations for which a cryptographic hash of the output is known in advance. Changes to such derivations should not propagate upwards through the dependency graph. Previously this was done by specifying the hash component of the output path through the `id' attribute, but this is insecure since you can lie about it (i.e., you can specify any hash and then produce a completely different output). Now the responsibility for checking the output is moved from the builder to Nix itself. A fixed-output derivation can be created by specifying the `outputHash' and `outputHashAlgo' attributes, the latter taking values `md5', `sha1', and `sha256', and the former specifying the actual hash in hexadecimal or in base-32 (auto-detected by looking at the length of the attribute value). MD5 is included for compatibility but should be considered deprecated. * Removed the `drvPath' pseudo-attribute in derivation results. It's no longer necessary. * Cleaned up the support for multiple output paths in derivation store expressions. Each output now has a unique identifier (e.g., `out', `devel', `docs'). Previously there was no way to tell output paths apart at the store expression level. * `nix-hash' now has a flag `--base32' to specify that the hash should be printed in base-32 notation. * `fetchurl' accepts parameters `sha256' and `sha1' in addition to `md5'. * `nix-prefetch-url' now prints out a SHA-1 hash in base-32. (TODO: a flag to specify the hash.)
2004-11-03 * string2ATerm -> overloaded toATerm.Eelco Dolstra1-4/+0
2004-10-29 * Drop ATmake / ATMatcher also in handling store expressions.Eelco Dolstra1-0/+147