diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2010-04-13T13·42+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2010-04-13T13·42+0000 |
commit | 7d47498b5ea1ad4685bad954e5407f628f7f5595 (patch) | |
tree | 0451c3cd9301030af94a805f476d8b5926edd4d6 /src/libexpr/nixexpr.hh | |
parent | ac1e8f40d4a5c380d68bb6f1c7cef6f1e7987c1a (diff) |
* Evaluate lets directly (i.e. without desugaring to `rec { attrs...;
<let-body> = e; }.<let-body>). This prevents the unnecessary allocation of an attribute set.
Diffstat (limited to 'src/libexpr/nixexpr.hh')
-rw-r--r-- | src/libexpr/nixexpr.hh | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libexpr/nixexpr.hh b/src/libexpr/nixexpr.hh index f0c05d4352ff..ccddb16298a4 100644 --- a/src/libexpr/nixexpr.hh +++ b/src/libexpr/nixexpr.hh @@ -139,6 +139,14 @@ struct ExprLambda : Expr COMMON_METHODS }; +struct ExprLet : Expr +{ + ExprAttrs * attrs; + Expr * body; + ExprLet(ExprAttrs * attrs, Expr * body) : attrs(attrs), body(body) { }; + COMMON_METHODS +}; + struct ExprWith : Expr { Pos pos; |