Changelog: lazy trees and security improvements

1 Like

Will check it out, thanks for the update mate!

1 Like

While the changes look cool, it would be nice to also include a section on upstreaming said changes.

2 Likes

While there are times when it makes sense to PR things immediately, we generally prefer to use features internally inside of Determinate Systems and let our users have a go at it before we do so. This gives us time to iron out any issues, refine interfaces, improve our own test suites, etc. This “Petri dish” arrangement tends to produce better outcomes for all parties, including upstream Nix maintainers.

Not calling out anyone, but I have seen some PRs to CppNix (ie, Lazy tree, Flake schemas, Parallel eval) go unreviewed just because they come from a DS branch.

Some PRs are stalled forever just because “they are not stable enough”. I personally root for optimistic merging and prototyping development model as it allows evolution of these features instead of being blocked forever in hopes of having an absolutely stable interface from the start.

Disclosure: I am fairly a new user of Nix and NixOS (2 years). Of course I don’t know and don’t care about the politics around this. What I really care about is improvement to NixOS as a distro and Nix supremacy.

5 Likes

Yeah i know, sorry, should have clarified. I just meant that a section containing "we’re always looking to upstream things and eventually all of this will be upstreamed would be nice. Essentially exactly what you responded to me, should imo be in the post itself

Optimistic merging and experimental feature flags are the way. I use a good handful of them locally (looking at you, lazy trees) and it’s improved the experience because it’s opt-in, and I personally tend to opt in, but not everyone has to.

1 Like

We have laid the ground-work to move lazy trees from feature preview into general availability. For the next phase in this process we will start progressively enabling lazy trees for users.

I thought we decided that lazy trees in their current form have a negative impact on the language due to introducing non-determinism?

5 Likes