Sender | Message | Time |
---|---|---|
8 Jul 2024 | ||
zrsk | In reply to @nbp:mozilla.orgThat's not the end of world | 12:41:53 |
zrsk | While I'm at it I've another question about the module system: why it isn't possible to set an option config.foo to a function of config.foo ? | 12:44:57 |
zrsk | In general it shouldn't lead to an infinite recursion | 12:45:23 |
zrsk | Or maybe yes, I'm not sure anymore...I remember thinking about this time ago. The example I was giving to myself was something like foo = f config.foo where f is the usual recursive factorial. But thinking about it now I can't see how I could express the recursion base case. | 12:48:22 |
zrsk | But still I believe that even foo = g config.foo with g: _: 42 as the constant function would lead to an infinite recursion error (perhaps I'm wrong, haven't tried) | 12:49:16 |
zrsk | * But still I believe that even foo = g config.foo with g = _: 42 as the constant function would lead to an infinite recursion error (perhaps I'm wrong, haven't tried) | 12:50:03 |
nbp | You are interested in making a fix-point within the module system. I never thought of it before. It is possible to make a fix-point within the apply function of an option, which how submodules are implemented, but using the option it-self …I doubt g = _: 42 would yield to an infinite recursion as config.foo would be evaluated lazify if the argument is used. | 12:59:48 |
zrsk |
You are right, just tried I guess I have to check how submodules are implemented | 13:25:18 |
@ktemkin:katesiria.org left the room. | 17:25:34 | |
9 Jul 2024 | ||
sbc64 joined the room. | 16:49:13 | |
14 Jul 2024 | ||
Tsomipa_ts joined the room. | 18:55:59 | |
15 Jul 2024 | ||
dminca changed their display name from dminca to nixpkgs. | 17:29:06 | |
dminca changed their display name from nixpkgs to dminca. | 17:42:43 | |
23 Jul 2024 | ||
Ezzobir Bezziou joined the room. | 08:21:01 | |
26 Jul 2024 | ||
Gaétan Lepage joined the room. | 15:30:55 | |
Matt Sturgeon joined the room. | 16:39:44 | |
27 Jul 2024 | ||
@brian:bmcgee.ie joined the room. | 11:20:49 | |
28 Jul 2024 | ||
Matt Sturgeon | Question: I.e. get definitions, metadata and final merged value for the freeform definitions separately from option definitions. Alternative: Motivation: Currently any sub-options defined will always show up in the resulting config, and we work-around this by having them default to This has two main downsides:
Instead, I would like to have sub-options without a default and have them not show up in the final config if they are not defined. I don't mind doing this manually, by merging the freeform value with any Follow up: Apologies for the long-form question! | 20:01:34 |
Matt Sturgeon | Maybe the correct implementation is to define any "optional" options outside the freeform submodule, and then copy them in if defined?
Perhaps submodule sub-options are only intended to be used when the value should always be in the generated value? | 20:41:12 |
Matt Sturgeon | * Maybe the correct implementation is to define any "optional" options outside the freeform submodule, and then copy them in if defined?
Perhaps submodule sub-options are only intended to be used when the value should always be in the generated value? | 20:41:39 |
29 Jul 2024 | ||
infinisil | Related: https://github.com/NixOS/nixpkgs/pull/63553 | 23:08:02 |
infinisil | And https://github.com/NixOS/nixpkgs/issues/158594 | 23:09:27 |
30 Jul 2024 | ||
Matt Sturgeon | Thanks, those links are insightful! I think 158598 is also related, but 158594 sounds like exactly what I want:
But it looks like the latest comment is backtracking or downscaling that idea... Playing around in the repl, I can get I guess to do this I would have to write my own Seems similar in principle to the | 00:34:08 |
Matt Sturgeon | * Thanks, those links are insightful! 158594 sounds like exactly what I want:
But it looks like the latest comment is backtracking or downscaling that idea... Playing around in the repl, I can get I guess to do this I would have to write my own Seems similar in principle to the | 00:34:48 |
Matt Sturgeon |
Or maybe this wouldn't work, if | 00:43:33 |
Matt Sturgeon | Seems it is: Would a PR be welcome to have | 01:20:44 |
Matt Sturgeon | Or maybe returning both config and definedConfig , the latter having filtered out declared options that aren't defined | 01:30:41 |
purepani joined the room. | 04:11:12 | |
31 Jul 2024 | ||
infinisil | @mattsturg:matrix.org Immediate thoughts are that it might be a bit of a leaky abstraction, but maybe also not. Feel free to make a PR, but I can't promise to get to review it myself soon, but perhaps @roberthensing:matrix.org can :) | 09:53:38 |
1 Aug 2024 | ||
cleverca22 joined the room. | 12:53:32 |