Tweag+Nix dev update #47

Previously in Tweag :eyes:

:tada: @connorbaker received the commit bit on nixpkgs :tada::tada: Congratulations!

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

Documentation :books:

Complete list of reviewed or merged PRs

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

Making Nix ubiquitous :rocket:

Blog posts and media :newspaper:


  • Nickel code can now be formatted in a pretty way thanks to another Tweag project, Topiary (it’s a configurable code formatter leveraging tree-sitter, which gets you a formatter starting from a tree-sitter grammar definition and the rules that you write). This has been integrated in the LSP, so if you have a running topiary accessible, you can format code live in your editor, although the syntax isn’t the one of stable Nickel but of latest master (the coming 1.0).
  • @yannham fixed a long-standing issue (although the GitHub issue is not that old) about merging not being idempotent on arrays (#1229)
  • @yannham moved the whole stdlibrary under a std namespace, to avoid polluting the global environment with all the symbols, and to provide an entry point for documentation and querying (#1231)
  • Nickel now uses deterministic hashtables (Rust’s default are randomized, which makes the iteration order different from one run to the other), to avoid seemingly erratic error reporting when there’s e.g. several type errors in different fields of a record (previously, one of the type error would be randomly reported, and it would change between each run, #1235)
  • Daniele made more progress on incremental evaluation. It’s disabled by default, but we’re approaching a stage of a working incremental merging (or, if you will, only recompute actual dependence of record fields upon overriding) (#1220). The (big) next step is incremental evaluation over subsequent runs, which comes with new challenges, but would be pretty awesome.

In general, the team has been spending most of its time on the stdlib, on the documentation and on the website, preparing for 1.0:

Although there is still one technical issue which needs a solution before this release can happen.

:computer: may Nix be the answer to the question about life, the Universe and everything :vulcan_salute:


That would be quite disappointing.

Thanks for all the fish tho :dolphin: :rocket: