Nix Language Quirks: Difference between revisions

imported>Danbst
added let and with
 
imported>Danbst
added old let syntax
Line 21: Line 21:


[https://github.com/NixOS/nix/issues/1361 Good discussion on this topic]
[https://github.com/NixOS/nix/issues/1361 Good discussion on this topic]
== Old <code>let</code> syntax ==
This is an old Nix syntax, that probably isn't used much
<nowiki>
nix-repl> let { x = 1; y = x + 1; body = y; }
2</nowiki>
It is equivalent to modern syntax expression <code>let x = 1; y = x + 1; in y</code>. Note, that it doesn't require <code>rec</code> keyword.
Note, that it isn't equivalent to <code>with rec { x = 1; y = x + 1; body = y; }; body</code> because of mentioned <code>with</code> and <code>let</code> quirk, but is same as <code>rec { x = 1; y = x + 1; body = y; }.body</code>