Tweag+Nix dev update #48

Previously in Tweag :eyes:

Making Nix solve people’s problems :wrench::toolbox:

  • The newly assembled packages modules working group, attempting to drastically simplify the package overriding landscape of Nix via a module system, lead by @infinisil and the Nixpkgs Architecture Team, has started out with 5 6 members, regular meetings, and asynchronous tasks, all tracked in a repository
  • The Nixpkgs Architecture Team’s RFC 140 to simplify package contributions now has enough shepherd nominations to move forward, a first meeting is scheduled among the nominees
  • @infinisil continues reviewing RFC 127 to improve Nixpkgs issues and warnings, now nominated as a shepherd
  • @infinisil continues meeting to discuss and work on RFC 101, to establish a standard Nix formatting/formatter

Making Nix work reliably everywhere :penguin::apple:🪟

Making Nix ubiquitous :rocket:

Blog posts and media :newspaper:


Nickel is getting close to releasing 1.0. The team has been spending most of their time fixing small issues, getting the house in order so to speak. However, there have also been bigger user-facing changes:

  • Enum tags are now written with a single quote as the starting delimiter instead of a backtick: 'Foo instead of `Foo, #1279

  • Type annotations on record fields no longer propagate through merging like contracts. This resolves a vexing recurring issue with polymorphic contracts, #1271

  • Dictionary contracts are now distinct from dictionary types, with their own syntax {_ | Contract}, #1272

  • import statements got shuffled around in the grammar. If the result of an import is a function which you wish to apply to some arguments immediately, you now need parentheses, e.g. (import "foo.nix") 1 2. This will allow us to introduce some new features for imports in a forward compatible manner, #1293

  • @yannham fixed the parsing of field paths for the query operation on the command line and in the REPL, #1276

  • Partial application of (&&) and (||) is now supported; previously the evaluator erroneously insisted on every application being saturated #1281

  • Nickel now tracks record field names in contract labels, improving error reporting for contract violations #1287

  • @matthew-healy improved the error reporting when a field hidden behind a polymorphic record tail is accessed #1296

:computer: may Nix bring people together :vulcan_salute: