Fastest way to reload module with GHC API

JP Moresmau jpmoresmau at gmail.com
Fri Jan 25 17:02:49 CET 2013


When I do that (only adding the target once and just doing load after the
file has changed) the changes in the file are not taken into account
(getNamesInScope for example doesn't give me the name of a type added
inside the file). I probably have my stupid hat on (friday afternoon...),
but when I do remove/load in between it works...

Thanks


On Fri, Jan 25, 2013 at 4:33 PM, Simon Marlow <marlowsd at gmail.com> wrote:

> On 25/01/13 14:30, JP Moresmau wrote:
>
>> Hello, I just want to be sure of what's the fastest way to reload a
>> module with the GHC API.
>> I have a file whose path is fp
>> I load the module with:
>> addTarget Target { targetId = TargetFile fp Nothing, targetAllowObjCode
>> = True, targetContents = Nothing }
>> Then I load the module
>> load LoadAllTargets
>> And when I want to reload the module (the contents of fp have changed) I
>> do:
>> removeTarget (TargetFile fp Nothing)
>> load LoadAllTargets
>> and then I rerun my initial code (addTarget, load)
>>
>
> You should be able to just invoke 'load LoadAllTargets' and omit the
> intermediate remove/load step.  Or is there a reason you want to remove the
> target?
>
> Cheers,
>         Simon
>
>


-- 
JP Moresmau
http://jpmoresmau.blogspot.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/glasgow-haskell-users/attachments/20130125/4e176668/attachment.htm>


More information about the Glasgow-haskell-users mailing list