[Git][ghc/ghc][wip/reinstallable-th] Apply 1 suggestion(s) to 1 file(s)

Teo Camarasu (@teo) gitlab at gitlab.haskell.org
Thu May 9 15:32:14 UTC 2024



Teo Camarasu pushed to branch wip/reinstallable-th at Glasgow Haskell Compiler / GHC


Commits:
d0fc16f0 by Sebastian Graf at 2024-05-09T15:32:04+00:00
Apply 1 suggestion(s) to 1 file(s)
- - - - -


1 changed file:

- compiler/GHC/Tc/Gen/Splice.hs


Changes:

=====================================
compiler/GHC/Tc/Gen/Splice.hs
=====================================
@@ -2937,13 +2937,17 @@ tcGetInterp = do
 --
 -- Here is how we bootstrap TH in tandem with GHC:
 --
---  1. Link the stage1 compiler against the boot `template-haskell`/`ghc-boot-th` library.
---  2. When building the stage1 compiler, build a CPP'd version of the in-tree
---     TH (defined in `ghc-internal`) using the boot compiler under a different
---     package-id, `ghc-boot-th-next`, and build stage1 GHC against that.
---  3. Build the in-tree TH with the stage1 compiler. From here on `ghc-boot-th`
---     re-exposes the TH modules from `ghc-internal`.
---  4. Build and link the stage2 compiler against the in-tree TH.
+--  1. Build the stage1 compiler with the boot compiler.
+--     The latter comes with its own boot `ghc-boot-th` library, but we do not import it.
+--  2. Instead, the stage1 compiler depends on the in-tree `ghc-boot-th`.
+--       * To avoid clashes with the boot `ghc-boot-th`, we change its 
+--         package-id `ghc-boot-th-next`.
+--       * There is a bit of CPP to vendor the stage1 TH AST defined in 
+--         `ghc-internal`, which we cannot build with the boot compiler.
+--  3. Build `ghc-internal` and in-tree `ghc-boot-th` with the stage1 compiler. 
+--     From here on `ghc-boot-th` re-exposes the TH modules from `ghc-internal`.
+--  4. Build and link the stage2 compiler against the in-tree `ghc-boot-th`.
+--     NB: No dependency on `ghc-boot-th-next`.
 --
 -- When we decided in favour of the current design, `template-haskell`
 -- still contained the wired-in Ids that meanwhile were moved to



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/d0fc16f0fd1b99e3abe59c4c9a7a9b694f43d4dc

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/d0fc16f0fd1b99e3abe59c4c9a7a9b694f43d4dc
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20240509/d9a652d6/attachment-0001.html>


More information about the ghc-commits mailing list