[Haskell-cafe] GHC API: runStmt not taking into account reloaded module

Simon Peyton Jones simonpj at microsoft.com
Wed Jan 15 09:19:09 UTC 2014


That sounds odd.  Can you make a small reproducible test case, open a ticket, and attach the test?

Thanks

SImon

From: Haskell-Cafe [mailto:haskell-cafe-bounces at haskell.org] On Behalf Of JP Moresmau
Sent: 14 January 2014 20:14
To: Haskell Cafe
Subject: [Haskell-cafe] GHC API: runStmt not taking into account reloaded module

It's late here and I'm probably overlooking something stupid, so I'd like if somebody could put my nose on it... I'm using the GHC API to evaluate statements. I use runStmt to get a RunResult, lookupName to get the ID for the bound names, obtainTermFromId to get the term and showTerm to display it. So I can call a function from the loaded module with some parameters and get the result. Good!
However, if I reload a module and I change the implementation of the function, runStmt still returns the old value! I know the reload worked because if I added new names, getNamesInScope returns the new names. What do I need to do to make sure the new function definitions are used? I've perused the source code of InteractiveEval and ghci but nothing stood out. I am calling setContext after load.

Thanks a million!

--
JP Moresmau
http://jpmoresmau.blogspot.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20140115/895d178a/attachment.html>


More information about the ghc-devs mailing list