Add template-haskell-lift and template-haskell-quasiquote as homes for template-haskell's more stable interfaces
template-haskell-lift just exports Lift and compat shims and is compatible with GHC-8.10+. template-haskell-quasiquoter exports the quasiqoute interface.
I've patched all the boot libraries that previously used template-haskell to use these libraries instead. (Of course these patches will need to be submitted upstream)
Boot libraries done:
- bytestring: https://github.com/haskell/bytestring/pull/717
- containers: https://github.com/haskell/containers/pull/1162
- text: https://github.com/haskell/text/pull/661
- time: https://github.com/haskell/time/pull/285
- exceptions: https://github.com/ekmett/exceptions/pull/105
- filepath: https://github.com/haskell/filepath/pull/258
- os-string: https://github.com/haskell/os-string/pull/36
We probably want these two libraries to live outside the GHC tree. I think it would make sense to also split out the template-haskell library at the same time and place all three in a template-haskell repo, either on the GHC gitlab (my preferred option) or github.
Edited by Teo Camarasu