Re: [Rd] proposed changes to RSiteSearch

From: Duncan Murdoch <murdoch_at_stats.uwo.ca>
Date: Thu, 04 Jun 2009 09:13:25 -0700

Gabor Grothendieck wrote:
> On Thu, Jun 4, 2009 at 1:58 AM, Duncan Murdoch <murdoch@stats.uwo.ca> wrote:
>

>> spencerg wrote:
>>     
>>> Hello All:
>>>
>>>      What do you think of adding a function "RSiteSeach" to the package of
>>> that name, masking the "RSiteSearch" function in "utils", trapping any call
>>> RSiteSearch('searchstring', 'function') to the current RSiteSearch.function
>>> and passing all others to "utils:::RSiteSearch"?  This was suggested by a
>>> referee to a manuscript on this new capability submitted to "R Journal".
>>>  The current version of this manuscript is available via "system.file('doc',
>>> 'RSiteSearch.pdf', package='RSiteSearch')" if you have the "RSiteSearch"
>>> package installed.
>>>       
>> I suppose this depends on your long term plans for the function and package.
>>  If you think it should eventually replace the utils function, then it makes
>> sense to use the same name:  users won't get used to a new name in the
>> meantime.  But if you think it will diverge from that function, then you
>> might as well pick a separate name now.
>>
>> I disagree with Gabor about this being heavy handed, at least while it is
>> the only significant export in the package.  If people don't want it, don't
>> attach the package.
>>
>>     
>

> The last sentence only gives you a choice of clobbering the existing
> function or not using it and that is not very nice. What is wanted is
> both to be able to use it and allow it to coexist in a nice way.
>

It is essentially a rename of the existing one to utils::RSiteSearch. I would only suggest this if RSiteSearch::RSiteSearch expanded on its capabilities (which I think was Spencer's proposal), rather than replacing them with something different.

> How about R changing its RSiteSearch to be an S3 generic with the
> main functionality being placed into RSiteSearch.default? Then
> RSiteSearch.function can become RsiteSearch.character and
>
> - RSiteSearch will give the new functionality when the package is
> loaded and the old functionality if not.
> - RSiteSearch.character can be used in place of RSiteSearch.function
> to force only the new functionality (or an error if not present)
> - RSiteSearch.default will give the old functionality whether or not the
> package is loaded

>

> (If there is a NAMESPACE then Its assumed here that both methods are
> exported.)
>

How is that an improvement? Just replace your (RSiteSearch, RSiteSearch.character, RSiteSearch.default) with (RSiteSearch, RSiteSearch::RSiteSearch, utils::RSiteSearch) in my proposal and you get the same behaviour. The point isn't that Spencer has invented a way for RSiteSearch to handle character vectors, it already knows that. The point is that he has enhanced it. Or maybe he has written something similar but different, in which case he should pick a new name.

Duncan Murdoch



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Thu 04 Jun 2009 - 16:22:12 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 04 Jun 2009 - 18:34:59 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.

list of date sections of archive