about summary refs log tree commit diff
path: root/src/libexpr
AgeCommit message (Collapse)AuthorFilesLines
2004-02-19 * Resolve an ambiguity between ifs and attribute selection, e.g., `ifEelco Dolstra1-3/+7
b then x else y.z'.
2004-02-16 * Allow linking against an external Berkeley DB / ATerm library.Eelco Dolstra1-2/+2
2004-02-16 * Inherited attributes in recursive attribute sets are in scope of theEelco Dolstra2-10/+18
non-inherited attributes.
2004-02-04 * Extended the `inherit' syntax to optionally select attributes fromEelco Dolstra2-8/+18
other attribute sets, rather than the current scope. E.g., {inherit (pkgs) gcc binutils;} is equivalent to {gcc = pkgs.gcc; binutils = pkgs.binutils;} I am not so happy about the syntax.
2004-02-04 * An attribute set update operator (//). E.g.,Eelco Dolstra3-0/+19
{x=1; y=2; z=3;} // {y=4;} => {x=1; y=4; z=3;}
2004-02-04 * Use a map to lookup primops.Eelco Dolstra8-38/+121
* Various performance improvements in the evaluator. * Do not link against unused (and missing!) libraries (-lsglr, etc.).
2004-02-03 * Verify that all variables in a Nix expression are defined.Eelco Dolstra4-21/+92
2004-02-02 * Added syntactic sugar to the construction of attribute sets toEelco Dolstra6-41/+78
`inherit' variables from the surrounding lexical scope. E.g., {stdenv, libfoo}: derivation { builder = ./bla; inherit stdenv libfoo; xyzzy = 1; } is equivalent to {stdenv, libfoo}: derivation { builder = ./bla; stdenv = stdenv; libfoo = libfoo; xyzzy = 1; } Note that for mutually recursive attribute set definitions (`rec {...}'), this also works, that is, `rec {inherit x;}' is equivalent to `let {fresh = x; body = rec {x = fresh;};}', *not* `rec {x = x}'.
2004-01-30 * Doh!Eelco Dolstra1-1/+3
2004-01-30 * Parser numbers again.Eelco Dolstra3-2/+6
* Include missing files in distributions.
2004-01-30 * Detect flex and bison; updated the manual.Eelco Dolstra1-2/+4
2004-01-30 * Replaced the SDF parser by a substantially faster Bison/FlexEelco Dolstra6-251/+260
parser (roughly 80x faster). The absolutely latest version of Bison (1.875c) is required for reentrant GLR support, as well as a recent version of Flex (say, 2.5.31). Note that most Unix distributions ship with the prehistoric Flex 2.5.4, which doesn't support reentrancy.
2004-01-29 * Optimised the SDF grammar.Eelco Dolstra2-94/+15
2004-01-21 * Fixed a subtle uninitialised variable bug in ATermMaps copied fromEelco Dolstra1-1/+3
ATermMaps. Found thanks to Valgrind!
2004-01-15 * Catch SIGINT to terminate cleanly when the user tries to interruptEelco Dolstra3-0/+8
Nix. This is to prevent Berkeley DB from becoming wedged. Unfortunately it is not possible to throw C++ exceptions from a signal handler. In fact, you can't do much of anything except change variables of type `volatile sig_atomic_t'. So we set an interrupt flag in the signal handler and check it at various strategic locations in the code (by calling checkInterrupt()). Since this is unlikely to cover all cases (e.g., (semi-)infinite loops), sometimes SIGTERM may now be required to kill Nix.
2004-01-15 * Obsolete.Eelco Dolstra2-290/+0
2004-01-05 * Implemented Eelco V.'s `nix-env -I' command to specify the defaultEelco Dolstra1-8/+10
path of the Nix expression to be used with the import, upgrade, and query commands. For instance, $ nix-env -I ~/nixpkgs/pkgs/system/i686-linux.nix $ nix-env --query --available [aka -qa] sylpheed-0.9.7 bison-1.875 pango-1.2.5 subversion-0.35.1 ... $ nix-env -i sylpheed $ nix-env -u subversion There can be only one default at a time. * If the path to a Nix expression is a symlink, follow the symlink prior to resolving relative path references in the expression.
2003-11-25 * More `make dist' fixes.Eelco Dolstra1-1/+2
2003-11-25 * Allow integer bindings in derivations.Eelco Dolstra2-0/+8
2003-11-22 * Maintain integrity of the substitute and successor mappings whenEelco Dolstra3-35/+55
deleting a path in the store. * Allow absolute paths in Nix expressions. * Get nix-prefetch-url to work again. * Various other fixes.
2003-11-21 * Uninstallation.Eelco Dolstra1-5/+11
2003-11-19 * nix-env: a tool to manage user environments.Eelco Dolstra1-0/+2
* Replace all directory reading code by a generic readDirectory() function.
2003-11-19 * Refactoring (step 2).Eelco Dolstra3-126/+4
2003-11-19 * Refactoring: put the Nix expression evaluator in its own library soEelco Dolstra13-0/+1689
that it can be used by multiple programs.