Problem
Changing the behavior of builtins is risky to impossible, as we promise to evaluate reproducibly over time.
(that's without language versioning, which is hard to pull off in any kind of friendly, robust way EDIT: and which would be detrimental to the ecosystem due to opportunity cost)
Proposal
Nixpkgs lib and possibly alternative libraries extend and improve the builtins.
- Recommend to use those functions whenever possible.
This also settles the question: should I use builtins or lib? Always lib. It's better.
- Highlight known differences between builtins and Nixpkgs
lib. A worthwhile layering violation.
Checklist
Context
Add 👍 to issues you find important.
Problem
Changing the behavior of builtins is risky to impossible, as we promise to evaluate reproducibly over time.
(that's without language versioning, which is hard to pull off in any kind of friendly, robust way EDIT: and which would be detrimental to the ecosystem due to opportunity cost)
Proposal
Nixpkgs
liband possibly alternative libraries extend and improve the builtins.This also settles the question: should I use
builtinsorlib? Alwayslib. It's better.lib. A worthwhile layering violation.Checklist
Context
Add 👍 to issues you find important.