The overall goal of the reinstallable base project is for the base
library to be replaceable, versioned independently of GHC, and
maintained outside of the GHC repository. Today, base is effectively
part of the compiler: its implementation is interwoven with GHC
internals, it shares a release cycle with GHC, and it cannot be
upgraded, downgraded, patched, or experimentally replaced without
rebuilding GHC itself. A reinstallable base would not suffer from
these issues and could evolve under its own stewardship with less
coupling between compiler development and library development.
This repository acts as the coordination hub for the reinstallable
base effort. It does not yet contain a prototype, but it collects the
problems, design constraints, open questions, and cross-project
coordination tasks that must be addressed before such an implementation
can be feasible. It links together GHC HQ, the Core Libraries Committee,
Cabal maintainers, and external contributors, providing a shared place
to track blockers, document decisions, and plan the sequence of work.
The discussions about reinstallable base that lead to the creation of
this repository took place in the following spaces:
- Entanglement between
baseandghc-internal: entanglement - Governance challenges: governance
- Specification of GHC version constraints: GHC version constraints