Skip to content

Move wired-in `template-haskell` identifiers into `ghc-internal` thus making it reinstallable

Teo Camarasu requested to merge wip/reinstallable-th into master

We move all the wired-in parts of template-haskell into ghc-internal. We then re-export these from ghc-boot-th and from template-haskell. ghc is made to depend only on ghc-boot-th, rather than template-haskell.

This removes the two reasons that template-haskell was not reinstallable:

  • It had wired-in identifiers
  • It was a dependency of ghc (and hence adding ghc to the build plan forced a specific version).

This in turn lets us remove a bunch of special logic around the template-haskell package.

Edited by Teo Camarasu

Merge request reports