haskell / haskell/core-libraries-committee
Deprecate base module `GHC.TopHandler`
- Dominant language
- Haskell
- Stars
- 109
- Forks
- 20
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
We propose deprecating the module `GHC.TopHandler` from package `base`.
## Motivation
#299 proposes that a number of modules, including `GHC.TopHandler`, be deprecated. A search of Hackage indicates that uses of `GHC.TopHandler` occur within packages specific to GHC, and hence the module should not reside in `base`.
## Proposal
* Mark module `GHC.TopHandler` as deprecated in package `base`.
## Migration
The `ghc-internal` package is a more natural home for `GHC.TopHandler`. Existing clients of `GHC.TopHandler` 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.
* Moving this functionality out of package `base` will improve the stability of GHC.
## Impact
As known consumers are already GHC-specific packages, the impact is expected to be limited.
Following an appropriate period of deprecation, `GHC.TopHandler` can be removed from `base`.
## Companion merge request
This proposal is accompanied by [this merge request](https://gitlab.haskell.org/ghc/ghc/-/merge_requests/16552).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the proposal and its companion merge request for the package base definition of GHC.TopHandler. Check the stated migration to ghc-internal and the impact on known clients. Done means the module is deprecated in base and existing clients can migrate as described.
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
- Clearly specified
- Newbie friendliness
- 25/100