Move wired-in `template-haskell` identifiers into `ghc-internal` thus making it reinstallable
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 addingghc
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