core-libraries-committee icon indicating copy to clipboard operation
core-libraries-committee copied to clipboard

What are the next steps for reinstallable base?

Open mpickering opened this issue 1 month ago • 152 comments

It seems to be a shared goal of the community to move in the direction of a more "normal" base package.

What progress has been made towards this?

  • ghc-internal is split up from the base library: Now there are two separate packages, one for internals and one for the "user" functions provided as a convenience.
  • The base library is not wired-in to GHC anymore, it has a normal unit-id, and is not privileged by the compiler.
  • cabal has been taught that it is allowed to reinstall the base library.

Therefore we turn to the question about how else we can make "base" more normal. It seems to me that the next obvious step is to move the base package into it's own repo, so it can be developed and released separately from the compiler.

  • base can be released independently of ghc.
  • base can be versioned independently of ghc releases.
  • base can be built and tested against different ghc versions.
  • Contributors can build and work on base using normal tooling (cabal) and development workflows.
  • Clearer boundaries between ghc-internal and base.

I want to ask the CLC and other community members if they think this is a good direction to go in, and any obstacles or other considerations that should be taken into account whilst moving forward with this project.

Some specific questions which could be useful to drive the discussion:

  1. Whether the CLC considers separate repository development a desirable long-term direction.
  2. What obstacles or constraints the CLC foresees with this proposed approach.
  3. Whether the CLC would be willing to manage base releases independently of the GHC schedule, if the technical work makes this possible. This would be the final step in making "base" a normal library like the other packages managed by the CLC.

My aim here is to start the conversation and see whether this direction is one the community broadly supports. If so, we can collaboratively develop a clear plan for making it happen. The CLC’s guidance would be especially helpful in understanding the constraints and opportunities involved.

mpickering avatar Nov 25 '25 19:11 mpickering