* 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}'.
			
			
This commit is contained in:
		
							parent
							
								
									d9f30fe7c7
								
							
						
					
					
						commit
						1c9c0a5a46
					
				
					 6 changed files with 78 additions and 41 deletions
				
			
		|  | @ -50,6 +50,7 @@ else        { return ELSE; } | |||
| assert      { return ASSERT; } | ||||
| let         { return LET; } | ||||
| rec         { return REC; } | ||||
| inherit     { return INHERIT; } | ||||
| 
 | ||||
| \=\=        { return EQ; } | ||||
| \!\=        { return NEQ; } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue