infinisil changed the topic of #nix-lang to: Channel for discussing Nix as a language - - Logs:
drakonis has quit [Ping timeout: 260 seconds]
jtojnar has joined #nix-lang
jtojnar_ has joined #nix-lang
jtojnar_ has quit [Remote host closed the connection]
ddellacosta has quit [Ping timeout: 250 seconds]
{^_^} has quit [*.net *.split]
jared-w has quit [*.net *.split]
jared-w has joined #nix-lang
{^_^} has joined #nix-lang
__monty__ has joined #nix-lang
ddellacosta has joined #nix-lang
hmpffff has joined #nix-lang
hmpffff has quit [Remote host closed the connection]
hmpffff has joined #nix-lang
<ekleog> > 1 + let a = 2; in a
<{^_^}> error: syntax error, unexpected ID, expecting '{', at (string):292:9
<ekleog> this one has been a fun-to-debug one
<puck> ... what the heck
<puck> like, that parsing makes *no* sense
<puck> ekleog: holy crap that is an amazing error
hmpffff has quit [Remote host closed the connection]
<puck> the issue is that either side of the operation expects an expr_op, which passes through as expr_op -> expr_app -> expr_select -> expr_simple
hmpffff has joined #nix-lang
<puck> expr_simple is contains the legacy let
<puck> but "modern" lets are an expr_function, and expr_function -> expr_if -> expr_op