Re: [Rd] proposed changes to RSiteSearch

From: Gabor Grothendieck <>
Date: Thu, 04 Jun 2009 12:23:54 -0400

On Thu, Jun 4, 2009 at 12:13 PM, Duncan Murdoch <> wrote:
> Gabor Grothendieck wrote:

>> On Thu, Jun 4, 2009 at 1:58 AM, Duncan Murdoch <>
>> 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

He simply renames it RSiteSearch.character (and possibly some other changes depending on arguments). Then if the core cooperates by making RSiteSearch a generic with a default method then everything works as one would expect based on an understanding of S3.

No conflicts in names are involved. mailing list Received on Thu 04 Jun 2009 - 17:04:42 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 Fri 05 Jun 2009 - 12:35:53 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive