guix/src/libexpr
Eelco Dolstra 1c9c0a5a46 * Added syntactic sugar to the construction of attribute sets to
`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-02-02 21:39:33 +00:00
..
eval.cc * Added syntactic sugar to the construction of attribute sets to 2004-02-02 21:39:33 +00:00
eval.hh * Refactoring: put the Nix expression evaluator in its own library so 2003-11-19 11:35:41 +00:00
lexer.l * Added syntactic sugar to the construction of attribute sets to 2004-02-02 21:39:33 +00:00
Makefile.am * Doh! 2004-01-30 17:14:08 +00:00
nixexpr.cc * Added syntactic sugar to the construction of attribute sets to 2004-02-02 21:39:33 +00:00
nixexpr.hh * Refactoring: put the Nix expression evaluator in its own library so 2003-11-19 11:35:41 +00:00
parser.cc * Added syntactic sugar to the construction of attribute sets to 2004-02-02 21:39:33 +00:00
parser.hh * Maintain integrity of the substitute and successor mappings when 2003-11-22 18:45:56 +00:00
parser.y * Added syntactic sugar to the construction of attribute sets to 2004-02-02 21:39:33 +00:00
primops.cc * Added syntactic sugar to the construction of attribute sets to 2004-02-02 21:39:33 +00:00
primops.hh * Refactoring: put the Nix expression evaluator in its own library so 2003-11-19 11:35:41 +00:00