#16392: In ghci, revertCAFs should be executed in the external interpreter when necessary
"GHC" <[email protected]> Tue, 05 Mar 2019 13:13:15 -0000
| Newsgroups | gmane.comp.lang.haskell.glasgow.bugs |
|---|---|
| Message-ID | <[email protected]> |
#16392: In ghci, revertCAFs should be executed in the external interpreter when
necessary
-------------------------------------+-------------------------------------
Reporter: lolotp | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: GHCi | Version: 8.6.3
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
I believe this bug was discovered and reported earlier here,
https://mail.haskell.org/pipermail/ghc-devs/2018-June/015842.html. I
stumbled upon this while tracking down a problem with ghci.
To describe the problem, we call revertCAFs whenever we load modules in
ghci so that they can be re-evaluated. This however, doesn't work as
intended when use with `-fexternal-interpreter` because the CAFs of loaded
modules actually live in the external interpreter process instead while
`revertCAFs` only work for CAFs in the ghci process.
To fix this, we should call revertCAFs in the external interpreter when
it's used.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/16392>