tweag/asterius

Multiple global package databases

开放

#298 创建于 2019年9月16日

 (3 条评论) (0 个反应) (0 位负责人)Haskell (56 个派生)batch import
P2good first issuetype: feature request

仓库指标

星标
 (1,949 个星标)
PR 合并指标
 (30 天内没有已合并 PR)

描述

Currently, we hardcode the global package database path to somewhere in the Cabal datadir of the asterius package, and ahc-boot populates the package database by executing the booting process. This is a major source of coffee break sessions in the past: whenever we need to modify something in the boot libs, we'll need to wipe the ghc-toolkit/asterius installation, rebuild and do another round of ahc-boot.

We should have a default global package database path which falls back to the Cabal datadir, but additionally:

  • Allow the source of boot libs to be picked up from the current working source tree, instead of from the datadir of ghc-toolkit (which requires recompilation of ghc-toolkit and asterius)
  • Allow ahc-boot to use a new global package database path
  • Allow ahc-boot to only compile a part of boot libs, e.g. "up to package X", and later resume the compilation of the rest of boot libs
  • Allow ahc, ahc-link, etc to use custom global package paths

In this way, the experience of hacking boot libs can be much smoother. Still, we're free to schedule coffee breaks whenever we want.

贡献者指南