[Rd] How to overload the assignment operator?
Simon Urbanek
simon.urbanek at r-project.org
Tue Nov 13 15:52:37 CET 2007
On Nov 13, 2007, at 9:19 AM, Jens Oehlschlägel wrote:
> Thanks Matthias,
>
>> are you looking for "setReplaceMethod"?
>
> So far the package I m writing has avoided using anything from S4
> and the implications of touching S4 are not clear to me. The package
> aims on providing an alternative to 'atomic' data stored in ram,
> i.e. large atomic data stored on disk. I need some advice how to do
> this maximally performant, which probably means pure S3!?
>
You cannot use S3 here, because you want to dispatch on the *second*
argument.
I don't think you want to do what you described - you would slow down
everything in R considerably just by making `<-` a generic (and in
fact you cannot do that for a good reason).
Why don't you take the external pointer approach that many others take
to provide proxy objects to external data? (DB access, mem-mapped
files, cross-language objects, etc.) That allows you to define your
storage semantics very efficiently in C. You can still choose to
define any syntactic sugar you want in either S3 or S4.
Cheers,
Simon
More information about the R-devel
mailing list