| 15 Oct 2025 |
QuadRadical (Ping) | with the nextest? | 01:24:18 |
raitobezarius | not yet, sorry | 01:24:23 |
Charles | i don't think this is what i want? | 01:24:28 |
raitobezarius | please ping me tomorrow 4pm CEST again | 01:24:31 |
QuadRadical (Ping) | ah okay, no worries | 01:24:32 |
QuadRadical (Ping) | sounds good | 01:24:38 |
raitobezarius | i'm just saying you can always inline your example into this | 01:24:38 |
Charles | to be clear the mistake is referring to source instead of source' in the body of input | 01:24:58 |
raitobezarius | ah i see | 01:25:16 |
Charles | if source weren't nameable in the context of input then it's not possible to make this mistake | 01:25:37 |
raitobezarius | but why would it be source' | 01:25:38 |
raitobezarius | and not source ? | 01:25:40 |
raitobezarius | if it's source, shadowing takes over | 01:25:46 |
Charles | that just sweeps the problem under the rug rather than actually preventing it | 01:26:10 |
raitobezarius | feels like that restricting the scope to prevent this mistake goes quite far into curbing the possibilities you have with the nixlang for a user | 01:26:29 |
raitobezarius | is it worth the tradeoff? | 01:26:39 |
Charles | maybe instead of source' they call it s to make naming it shorter and then forget they did that | 01:26:49 |
raitobezarius | shouldn't be this problem fixed by linting? | 01:27:31 |
raitobezarius | define a convention that no let binding named source should appear | 01:27:40 |
raitobezarius | we could have a weird lang construct where we would have input = source': {{ foo = source.foo + 1; }} | 01:28:21 |
Charles | does it? scope restriction would be optional; seems like it gives you strictly more control over what your code can/can't do | 01:28:22 |
raitobezarius | where {{ means no inheritance | 01:28:25 |
raitobezarius | but that's nix2 realm | 01:28:37 |
raitobezarius | so I defer to nix2 expert, piegames | 01:28:42 |
raitobezarius | as far as I'm concerned, I feel the builtin path for this seems unlikely | 01:29:19 |
Charles | i agree | 01:29:33 |
raitobezarius | In the current constraints of Nix1, linting is the best available option perhaps | 01:29:40 |
raitobezarius | (or scopedImport as you said but separate file) | 01:29:49 |
Charles | (which would be the case that fails eval because source is not nameable here) | 01:30:17 |
Charles | i think you transposed these two things but yeah | 01:30:46 |