Re: [Rd] Formal methods are not loaded from NAMESPACE in reloadedworkspace image

From: John Chambers <jmc_at_r-project.org>
Date: Fri 03 Nov 2006 - 15:12:27 GMT

It's not a simple serialization issue, but related to the initial computations when a saved image is reloaded at the start of a session, so the implication is less general than you imply.

If you move the saved image to another file, say "savedImage", then:

 > load("savedImage")
 > library(urca)
 > showMethods("summary")

Function: summary (package base)
object="ANY"
object="ca.jo"
object="ca.po"
object="cajo.test"
object="ur.df"
object="ur.ers"
object="ur.kpss"
object="ur.pp"
object="ur.sp"
object="ur.za"

and summary(lc.df) then works as expected.

So the workaround, other than inserting all the import(methods), etc. you can think of, seems to be to save/load explicitly.

Seth Falcon wrote:
> John Chambers <jmc@r-project.org> writes:
>
>
>> I haven't had a chance to verify these exact examples, but the likely
>> explanation is that loading the workspace does not cache the saved
>> methods. Assuming this is indeed what's happening, the workaround is to
>> cache them "manually" by the call:
>>
>> cacheMetaData(.GlobalEnv)
>>
>> (after attaching the relevant library)
>>
>> It would be nice to have the same effect occur automatically, but there
>> may be issues since the needed class definitions may not be available
>> when the saved workspace is reloaded.
>>
>> A natural question to ask is whether there is some practical motivation
>> for this exercise.
>>
>
> The main use case is that since serialization of objects is such an
> R-ish thing to do, you really want to have deserialized S4 instances
> "work" properly when loaded.
>
> I admit that it is also useful to be able to load an arbitrary object
> and inspect it even if it will be "broken" (without this, it would be
> very hard to write any sort of automated class update code). It would
> seem that this behavior could be achieved in a force=TRUE mode and
> that otherwise, it would be an error to deserialize an S4 instance
> when the class def is not available.
>
> + seth
>
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>

        [[alternative HTML version deleted]]



R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Sat Nov 04 08:14:12 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Sat 04 Nov 2006 - 00:30:33 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.