about summary refs log tree commit diff
path: root/src/libexpr/nixexpr-ast.def
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2009-05-15T12·35+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2009-05-15T12·35+0000
commitd407d572fdc72f4eb14cc0f37d7d61446425b663 (patch)
tree039d1409f7bdd30c2e953cf894b06b858db3a6f3 /src/libexpr/nixexpr-ast.def
parente42975490fa96e811c9fd80435ce20c26f8603f8 (diff)
* Some syntactic sugar for attribute sets: allow {x.y.z = ...;} as a
  shorthand for {x = {y = {z = ...;};};}.  This is especially useful
  for NixOS configuration files, e.g.

    {
      services = {
        sshd = {
          enable = true;
          port = 2022;
        };
      };
    }

  can now be written as

    {
      services.sshd.enable = true;
      services.sshd.port = 2022;
    }

  However, it is currently not permitted to write
  
    {
      services.sshd = {enable = true;};
      services.sshd.port = 2022;
    }

  as this is considered a duplicate definition of `services.sshd'.

Diffstat (limited to 'src/libexpr/nixexpr-ast.def')
-rw-r--r--src/libexpr/nixexpr-ast.def1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/libexpr/nixexpr-ast.def b/src/libexpr/nixexpr-ast.def
index ba8162984156..00b5f5a13716 100644
--- a/src/libexpr/nixexpr-ast.def
+++ b/src/libexpr/nixexpr-ast.def
@@ -70,6 +70,7 @@ Bool | ATermBool | Expr |
 Null | | Expr |
 
 Bind | string Expr Pos | ATerm |
+BindAttrPath | ATermList Expr Pos | ATerm | # desugared during parsing
 Bind | string Expr | ATerm | ObsoleteBind
 Inherit | Expr ATermList Pos | ATerm |