Skip to content

Commit 89a3796

Browse files
committed
Add section on reinstalling base
1 parent 489c809 commit 89a3796

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

proposals/accepted/051-ghc-base-libraries.rst

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ responsibilities (e.g. who curates which package),
4646
and processes (e.g. who should be consulted and when)
4747
that support both CLC and the GHC team to follow their respective goals without tripping over each other.
4848

49-
The proposal is based on `HF Proposal 47 <https://github.com/haskellfoundation/tech-proposals/pull/47>`__, but is independent of it.
49+
The proposal is based on `HF Proposal #47 <https://github.com/haskellfoundation/tech-proposals/pull/47>`__, but is independent of it.
5050
You can find more background in `CLC issue #146 <https://github.com/haskell/core-libraries-committee/issues/146>`__.
5151

5252
Things we all agree about
@@ -310,6 +310,21 @@ Agreed answer: no.
310310
That is, we do not make it best-practice for library authors to give ``C`` instances for types exported only by ``ghc-experimental``.
311311
(They can, of course, but it's fine not to.)
312312

313+
Reinstallable base
314+
------------------
315+
316+
At the moment each version of GHC comes with a fixed, immutable version of ``base``.
317+
Some members of the community would like to be able to upgrade/re-install the ``base`` package without changing the version of GHC.
318+
(For example, see `this Haskell Discourse thread <https://discourse.haskell.org/t/pre-pre-hftp-decoupling-base-and-ghc/3727>`__ and the earlier versions of now-closed `HF Proposal #47 <https://github.com/haskellfoundation/tech-proposals/pull/47>`__.)
319+
The goal of such reinstalling would be both to (a) support multiple versions of ``base`` with the same GHC, and (b) support multiple versions of GHC with the same ``base``.
320+
321+
By separating ``ghc-internals`` from ``base``, this proposal may make the reinstallable ``base`` project one step more feasible.
322+
In particular, by corralling the code that is intimately tied to a specific version of GHC in ``ghc-internals``, one might hope the code left in ``base`` would be portable across versions of GHC with no extra effort.
323+
324+
Nevertheless, *supporting reinstallable ``base`` is not a goal of this proposal*, nor is it an immediate consequence of it.
325+
There is not yet agreement that this is a goal worth pursuing.
326+
What code should be moved from ``base`` to ``ghc-internals`` is also out of scope (as described above in the proposal proper), and without knowing those details, we cannot know whether ``base`` would incidentally become more portable either.
327+
313328
Other teams to consult
314329
======================
315330

0 commit comments

Comments
 (0)