diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2008-08-14T10·04+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2008-08-14T10·04+0000 |
commit | efe4b690ae4de5f0adea99abb1176a64a099d433 (patch) | |
tree | 3ee26b49848b04b5f6dad8edc06509fe4d4ee067 /src/libexpr/nixexpr-ast.def | |
parent | c03b729319997b4e38c3f586d7c76352228b22e7 (diff) |
* Refactoring: combine functions that take an attribute set and
functions that take a single argument (plain lambdas) into one AST node (Function) that contains a Pattern node describing the arguments. Current patterns are single lazy arguments (VarPat) and matching against an attribute set (AttrsPat). This refactoring allows other kinds of patterns to be added easily, such as Haskell-style @-patterns, or list pattern matching.
Diffstat (limited to 'src/libexpr/nixexpr-ast.def')
-rw-r--r-- | src/libexpr/nixexpr-ast.def | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libexpr/nixexpr-ast.def b/src/libexpr/nixexpr-ast.def index a57a48613e53..6b9cf95faf99 100644 --- a/src/libexpr/nixexpr-ast.def +++ b/src/libexpr/nixexpr-ast.def @@ -3,8 +3,7 @@ init initNixExprHelpers Pos | string int int | Pos | NoPos | | Pos | -Function | ATermList Expr Pos | Expr | -Function1 | string Expr Pos | Expr | +Function | Pattern Expr Pos | Expr | Assert | Expr Expr Pos | Expr | With | Expr Expr Pos | Expr | If | Expr Expr Expr | Expr | @@ -76,6 +75,9 @@ Inherit | Expr ATermList Pos | ATerm | Scope | | Expr | +VarPat | string | Pattern | +AttrsPat | ATermList | Pattern | + Formal | string DefaultValue | ATerm | DefaultValue | Expr | DefaultValue | |