Switch from template-haskell to template-haskell-lift#285
Switch from template-haskell to template-haskell-lift#285TeofilC wants to merge 1 commit intohaskell:masterfrom
Conversation
|
I don't think boot libraries (like time) can depend on non-boot libraries (such as template-haskell-lift)? |
|
I'll add more of a description in a bit but this will become a boot library in 9.14. I'll update the cabal file to only use it for GHCs greater than that |
|
Could you take another look @AshleyYakeley ? (I think bumping the version of mhs should fix the CI failure). |
|
OK can you fix the build first? |
|
FreeBSD is failing in master, so I'll fix that. I'll update MHS too perhaps. |
|
OK I'm sorting out compiler versions. I'll let you know when it's done. |
|
OK, I've fixed CI. Please merge master into your branch. |
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.
It also lets us drop a lot of compatibility CPP.
For more information see the GHC proposal that introduced this library: ghc-proposals/ghc-proposals#696
template-haskell-lift is not compatible with versions of GHC before 9.10, so support for earlier versions would either need to be dropped, or we would need to add some CPP.
This GHC MR tests this PR against GHC-HEAD: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/14978