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

JP Moresmau jpmoresmau at gmail.com
Fri Jan 17 11:35:52 UTC 2014


Updated the wiki!

Thanks


On Wed, Jan 15, 2014 at 9:31 PM, Simon Peyton Jones
<simonpj at microsoft.com>wrote:

>  Great.
>
>
>
> Any chance you could add a section to
>
> http://www.haskell.org/haskellwiki/GHC/As_a_library
>
> to elucidate this point.  It’s not an easy API, and we know for sure that
> this particular point has tripped at least one person up.
>
>
>
> Simon
>
>
>
> *From:* JP Moresmau [mailto:jpmoresmau at gmail.com]
> *Sent:* 15 January 2014 16:38
> *To:* Simon Peyton Jones
> *Cc:* ghc-devs at haskell.org
> *Subject:* Re: [Haskell-cafe] GHC API: runStmt not taking into account
> reloaded module
>
>
>
> While writing a smaller test case, I managed to get a different error,
> which in turn allowed me to find this:
> http://www.haskell.org/pipermail/glasgow-haskell-users/2008-May/014841.html.
> It turns out I had the ghcLink session flag set to NoLink, it works fine
> with LinkInMemory! I knew it was something stupid!
>
>
>
> Thanks, there is no need to open a ticket in the end.
>
>
>
> JP
>
>
>
> On Wed, Jan 15, 2014 at 10:40 AM, JP Moresmau <jpmoresmau at gmail.com>
> wrote:
>
>  Thanks Simon, I will write a simple test case and see what happens.
>
>
>
> JP
>
>
>
> On Wed, Jan 15, 2014 at 10:19 AM, Simon Peyton Jones <
> simonpj at microsoft.com> wrote:
>
>  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/
>
>
>
>
>
> --
> JP Moresmau
> http://jpmoresmau.blogspot.com/
>
>
>
>
>
> --
> JP Moresmau
> http://jpmoresmau.blogspot.com/
>



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


More information about the ghc-devs mailing list