Skip to content

Draft: Migrate `base` away from reexporting `ghc-internals`

Ben Gamari requested to merge wip/ghc-internals-3 into master

Here we carry out the second step of the ghc-internal migration, eliminating the use of module reexports and replacing them with stub modules consisting of declaration-level reexports.

As well, we use the package-qualified @since syntax introduced in !12098 (closed) to ensure that documentation correctly describes versioning. This is a temporary measure; the next step will be to migrate these towards @since attached to export-sites where possible (e.g. in all cases but instances).

To do

  • GHC.Exception.Type no longer exports ArithException, Exception(..)
  • GHC.Exts.dataToTag{Large,Small}# incorrectly exported
  • GHC.Num now exports BigNat, et al
  • ImpSafe01 ImpSafe04 rely on unsafety of base
  • bkpfail19 fails with concerning error
  • More changes in T9181 than expected
  • Add Safe pragmas where appropriate
  • Add not-home Haddock pragmas where appropriate
  • Move ArrayArray back into base
  • Eliminate module re-export from GHC.Base
  • Sweep ghc-internal for remaining named documentation chunks
Edited by Ben Gamari

Merge request reports