Fastest way to reload module with GHC API
JP Moresmau
jpmoresmau at gmail.com
Mon Jan 28 17:07:43 CET 2013
Yes, thank you Simon, my test works if I wait at least 1 second before the
two loads, so I'd say I run exactly into that issue. So I can adapt my code
to only remove the target if the files do not give me a time difference.
Thanks a million!
JP
On Fri, Jan 25, 2013 at 5:29 PM, Simon Marlow <marlowsd at gmail.com> wrote:
> Has the file's modification time changed? If you're doing this very
> quickly (within 1 second) then you might run into this:
>
> http://hackage.haskell.org/**trac/ghc/ticket/7473<http://hackage.haskell.org/trac/ghc/ticket/7473>
>
> Cheers,
> Simon
>
>
> On 25/01/13 16:02, JP Moresmau wrote:
>
>> 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
>> <mailto: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/ <http://jpmoresmau.blogspot.com/>
>>
>
>
--
JP Moresmau
http://jpmoresmau.blogspot.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/glasgow-haskell-users/attachments/20130128/d28f5837/attachment.htm>
More information about the Glasgow-haskell-users
mailing list