Skip to content

In ghci, revertCAFs should be executed in the external interpreter when necessary

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.

Trac metadata
Trac field Value
Version 8.6.3
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component GHCi
Test case
Differential revisions
BlockedBy
Related
Blocking
CC afarmer, watashi
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information