Skip to content

Make `template-haskell` reinstallable

Currently template-haskell is a dependency of GHC. This makes it difficult to reinstall the template-haskell package. In turn this means that template-haskell's dependencies are not reinstallable.

Though we should note that an advanced users could reinstall the same version of template-haskell if they were also willing to rebuild the same version of iserv bundled with ghc.

This ticket is split off from #24021 to just cover the task of making template-haskell properly reinstallable.

In order to do this we must move the parts that GHC depends on into another package. Currently we are aiming to move them into ghc-internal.

We must also make it so template-haskell has a proper unit id, so it cannot make use of the -this-unit-id option and cannot be the host of wired-in identifiers.

Both GHC and template-haskell would then depend on this package.

Edited by Teo Camarasu
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information