sellout / hall

The corridor connecting Dhall and Haskell

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

$^{d}ha_{ske}ll$

built with garnix

The corridor connecting Dhall and Haskell

A collection of various tools in Dhall for working with Haskell.

usage

This is especially helpful with hpack-dhall or dhall-to-cabal, but the types and functions here are general enough to use whenever you work with Haskell from Dhall.

documentation

API docs are on GitHub Pages.

development environment

We recommend the following steps to make working in this repository as easy as possible.

direnv allow

This command ensures that any work you do within this repository happens 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.

git config --local include.path ../.cache/git/config

This will apply our repository-specific Git configuration to git commands run against this repository. It’s lightweight (you should definitely look at it before applying this command) – it does things like telling git blame to ignore formatting-only commits.

building & development

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.

if you have nix installed

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.

versioning

In the absolute, almost every change is a breaking change. This section describes how we mitigate that to offer minor updates and revisions.

comparisons

Other projects similar to this one, and how they differ.

About

The corridor connecting Dhall and Haskell

License:GNU Affero General Public License v3.0


Languages

Language:Dhall 71.1%Language:Nix 28.1%Language:Emacs Lisp 0.8%