con-kitty / categorifier

Interpret Haskell programs into any cartesian closed category.
BSD 3-Clause "New" or "Revised" License
57 stars 2 forks source link

Cabal file improvements #105

Closed sellout closed 7 months ago

sellout commented 7 months ago

This takes advantage of some newer features (e.g., source-repository-package can now list multiple subdirs) and makes some other improvements.

There is unfortunately still a lot of duplication. Cabal 3.8 supports multiple public libraries in a package, which can help a bit, but cabal2nix doesn’t yet handle that (NixOS/cabal2nix#448). Alternatively, something like hpack-dhall would help a lot, but in general, I’ve tried to avoid any preprocessing in order to get Cabal to build things outside of Nix.

It’s probably easiest to review this PR commit-by-commit.