[Rd] Embedding R and registering routines

Simon Urbanek simon.urbanek at r-project.org
Wed May 2 03:13:18 CEST 2007


Seth,

On May 1, 2007, at 5:59 PM, Seth Falcon wrote:

> Simon Urbanek <simon.urbanek at r-project.org> writes:
>
>> Duncan,
>>
>> are you going to take care of this? I have a quick solution for R- 
>> devel that adds a special entry if requested.
>>
>> I'm not quite convinced that we need as much flexibility as adding  
>> arbitrary DllInfos, because the embedding application is a really  
>> special concept (everything else is dynamically loaded except for  
>> the application). In a sense "base" does that for non-embedded R  
>> and the distinction is that it doesn't allow dynamic lookup. I  
>> don't think adding arbitrary DllInfos is wise, because we would  
>> have to expose DLL handles etc. - do we really want to do that?  
>> And as for adding NULL-handle DLLInfos, there is only one  
>> legitimate use and that is the embedding application, so anything  
>> else looks more like abuse to me... (just lazy solution to not  
>> have to determine the dll). Also the embedded DllInfo cannot be  
>> unloaded by design, so it doesn't need anything complicated...
>
> Perhaps I'm not understanding the issues at hand, but I think there  
> are other use cases for a mechanism accessible to package  
> developers to dynamically register routines.  Just as R can load  
> packages to make new routines available, I don't see why an R  
> package should not be able to provide an analogous plugin mechanism  
> of its own.
>

That is a different issue - packages are free to register any  
routines as they already have a DllInfo entry in the current  
implementation. What we are talking about here is the embedded case  
where the embedding application doesn't have a DllInfo because it's  
loading R and not vice versa, so it cannot register anything.

Cheers,
Simon



More information about the R-devel mailing list