-
Notifications
You must be signed in to change notification settings - Fork 161
Switch from template-haskell to template-haskell-lift #661
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
What's the status of this? |
I'm currently waiting for GHC-9.14 to be released. And then I'll update all the PRs for boot libs. If we want new releases of text to be backportable to older GHCs then I will need to introduce some CPP to allow building with GHC when th-lift isn't a boot lib (note that end users can build th-lift with older GHCs but we can't add new boot libs in a minor version of GHC). LMK if you'd prefer that to the current version. |
Yes please. We can always rip off CPP once last GHC releases in 9.10 and 9.12 series are out. |
3740ed5 to
fabfb34
Compare
text.cabal
Outdated
| -- once we no longer wish to backport releases to older major releases of GHC, | ||
| -- this conditional can be dropped | ||
| if impl(ghc < 9.14) | ||
| build-depends: template-haskell |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it pass cabal check without warnings? Could we add a dummy upper bound, like < 3?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good spot. I have restored the previous bounds
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please make it < 3, otherwise cabal outdated will keep flagging it in future. (It has no notion of a dependency upper bound being implicitly guarded by GHC version)
This new boot library should be more stable than template-haskell and should eventually allow us to remove much of the CPP around TH. It will also make it easier for end-users to reinstall template-haskell as it will no longer be used by any boot libraries
We switch our dependency on template-haskell to a dependency on template-haskell-lift. This smaller library is more stabler and if we can remove the template-haskell dependency from all boot libraries then template-haskell will be much easier to re-install since it no longer needs to be in GHC's dependency closure.
For more information see the GHC proposal that introduced this library: ghc-proposals/ghc-proposals#696
This GHC MR tests this PR against GHC-HEAD: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/14978