A total recursion scheme library for Dhall
Recursion schemes provide a total way to support recursion. The decomposition they encourage also enhances composability and reusability.
We recommend the following steps to make working in this repo as easy as possible.
This command ensures that any work you do within this repo is done within a consistent reproducible environment. That environment provides various debugging tools, etc. When you leave this directory, you will leave that environment behind, so it doesn’t impact anything else on your system.
This will apply our repo-specific Git configuration to git
commands run against this repo. It is very lightweight (you should definitely look at it before applying this command) – it does things like telling git blame
to ignore formatting-only commits.
Especially if you are unfamiliar with the dhall ecosystem, there is a Nix build (both with and without a flake). If you are unfamiliar with Nix, Nix adjacent can help you get things working in the shortest time and least effort possible.
nix build
will build and test the project fully.
nix develop
will put you into an environment where the traditional build tooling works. If you also have direnv
installed, then you should automatically be in that environment when you're in a directory in this project.
In the absolute, almost every change is a breaking change. This section describes how we mitigate that to provide minor updates and revisions.
Other projects similar to this one, and how they differ.