haskell / haskell/core-libraries-committee
Deprecate and remove base modules GHC.GHCi and GHC.GHCi.Helpers
- Dominant language
- Haskell
- Stars
- 109
- Forks
- 20
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
We propose deprecating and removing the modules `GHC.GHCi` and `GHC.GHCi.Helpers` from package `base`.
## Motivation
A search of Hackage indicates that uses of `GHC.GHCi` and `GHC.GHCi.Helpers` occur within packages specific to GHC, and hence the module should not reside in `base`.
Moving this functionality out of package `base` will improve the stability of GHC.
## Proposal
* Mark modules `GHC.GHCi` and `GHC.GHCi.Helpers` as deprecated and remove from package `base`.
## Migration
Existing clients of of these modules can migrate by depending on package `ghc-internal`.
This migration is expected to be straightforward as it should only require updating package dependencies.
## Benefits
* A cleaner public API for `base` which should expose not GHC-specific functionality.
* Places modules `GHC.GHCi` and `GHC.GHCi.Helpers` within the package where their functionality naturally belongs.
## Compatibility
As known consumers are already GHC-specific packages, the impact is expected to be limited.
Following an appropriate period of deprecation, these modules can be removed from `base`.
## Companion merge request
This proposal is accompanied by the [this merge request](https://gitlab.haskell.org/ghc/ghc/-/merge_requests/16554).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by inspecting the GHC.GHCi and GHC.GHCi.Helpers modules in package base, then read companion merge request 16554 for the current implementation context. Check how these modules are exposed by base and how ghc-internal is referenced; done means the deprecation and eventual removal plan is reflected consistently, with affected consumers identified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- compilers
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100