Closed as not planned
Description
Does Agda really need a Setup.hs
file?
Reasons to migrate away from Setup.hs
:
- Cabal discourages using
Setup.hs
Setup.hs
prevents cross-compilation- 1 extra file in the repo root
- 1 extra level of indirection in Agda's build
- Lack of developer documentation
- about why
Setup.hs
is needed at all - about what should go in
Setup.hs
vs e.g. the.cabal
file
- about why
- Tight (& un-documented) coupling with other parts of the codebase
- e.g. with the
Makefile
, regarding the-quicker
suffix - e.g. with Agda's command-line &
IOTCM
APIs, which it calls
- e.g. with the
- Other techniques exist for managing run-time data files (e.g.
.agdai
)- Case study: https://github.com/jgm/pandoc
- Has run-time data files (LaTeX templates, CSS, etc.)
- Has
build-type: Simple
(and noSetup.hs
file) - Data files are checked in to the repo (under a
data/
) - Provides a CLI option for dumping the data files at run time (
pandoc -D latex
etc.)
- Case study: https://github.com/jgm/pandoc