[Rd] proposed changes to RSiteSearch

spencerg spencer.graves at prodsyse.com
Fri Jun 5 07:04:47 CEST 2009


      Thank you all for your suggestions.  My goal with this is to make 
it as easy as possible for R users to find what they want in contributed 
packages.  A referee for our "R Journal" manuscript complained that 
"RSiteSearch.function" was too much to type, suggesting we consider 
masking "RSiteSearch".  From the discussion, I do not see a strong 
consensus for doing that.  I like Romain's suggestion to shorten the 
name further to, e.g., "web.search" or "doc.search".  Another colleague 
suggested "RSearch". 


      What do you think about renaming the current 
"RSiteSearch.function{RSiteSearch}" to "RSearch{RSearch}"? 


      I'm happy to support the consensus of this group on a name (and 
even enhancements) that seems likely to maximize its utility to R 
users.  I ask, because a rose by any other name would smell as sweet, 
but one named "prettysweetsmellingthingamabob" might not sell as well. 


      Thanks,
      Spencer     


Gabor Grothendieck wrote:
> On Thu, Jun 4, 2009 at 12:13 PM, Duncan Murdoch <murdoch at stats.uwo.ca> wrote:
>   
>> Gabor Grothendieck wrote:
>>     
>>> On Thu, Jun 4, 2009 at 1:58 AM, Duncan Murdoch <murdoch at 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
>>
>>     
>
> 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.
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>



More information about the R-devel mailing list