infinisil changed the topic of #nix-lang to: Channel for discussing Nix as a language - https://nixos.org/nix/manual/#chap-writing-nix-expressions - Logs: https://logs.nix.samueldr.com/nix-lang/
pie_ has quit [Ping timeout: 268 seconds]
MichaelRaskin has quit [Quit: MichaelRaskin]
srhb has quit [Remote host closed the connection]
__monty__ has joined #nix-lang
<ekleog> infinisil: here is what I meant by “pure-nix implementation of extensible attrsets” (for which work could be done in nix to remove the boilerplate in the syntax for defining them) https://github.com/Ekleog/nix-extensible-attrsets/blob/master/example.nix
<ekleog> can you sanity-check this before I post it on the nix issue tracker? (feel free to say no :p)
<ekleog> (github really can't highlight nix code…)
<infinisil> ekleog: Line 18, `if self ? n` you probably meant `self ? ${n}`?
<ekleog> oh wow… so it worked before but now no longer works :D two bugs cancelling each other I guess
<ekleog> (thanks!)
<infinisil> ekleog: I didn't look too much into it, but looks pretty cool :D
<ekleog> :3
<ekleog> now need that lazy-attrset trick to not actually write argument lists for each value, and some nicer syntax to define metadata ^^
<ekleog> > {}.foo.bar or 1
<{^_^}> 1
* ekleog would have hoped it'd raise an error on foo not being defined :(
<infinisil> > {} ? foo.bar
<{^_^}> false
<infinisil> ekleog: This works too, so it makes sense for it to have the same logic with `or`
<infinisil> But yeah, I'd actually have expected {}.foo.bar to throw an error too..
<ekleog> heh
<ekleog> nix is stubborn in its internal logic
<ekleog> well… stubborn / consistent
<ekleog> issue opened, let's see :) https://github.com/NixOS/nix/issues/2511
<{^_^}> nix#2511 (by Ekleog, 17 minutes ago, open): Extensible attrsets
demize has quit [Quit: Do Androids Dream of Electric Sheep?]
demize has joined #nix-lang
{^_^} has quit [Ping timeout: 250 seconds]
{^_^} has joined #nix-lang
{^_^} has quit [Ping timeout: 250 seconds]
{^_^} has joined #nix-lang
__monty__ has quit [Quit: leaving]