From spencer.graves at prodsyse.com  Fri Jun  5 15:41:39 2009
From: spencer.graves at prodsyse.com (spencerg)
Date: Fri, 05 Jun 2009 06:41:39 -0700
Subject: [Rd] proposed changes to RSiteSearch
In-Reply-To: <39B6DDB9048D0F4DAD42CB26AAFF0AFA075A960C@usctmx1106.merck.com>
References: <39B6DDB9048D0F4DAD42CB26AAFF0AFA07381973@usctmx1106.merck.com>
	<20090507180930.GA1619@psych.upenn.edu>	<39B6DDB9048D0F4DAD42CB26AAFF0AFA073C4758@usctmx1106.merck.com>	<4A032E6F.8010001@dbmail.com>
	<20090507192632.GA4723@psych.upenn.edu>
	<39B6DDB9048D0F4DAD42CB26AAFF0AFA073C4844@usctmx1106.merck.com>
	<4A26ED1D.1020407@prodsyse.com> <4A276278.3050404@stats.uwo.ca>
	<971536df0906040430s14c3f78fy2b1f639dfd3ce209@mail.gmail.com>
	<4A27F2A5.70705@stats.uwo.ca>
	<971536df0906040923s7e791559vc217183e59742902@mail.gmail.com>
	<4A28A76F.2080600@prodsyse.com>
	<39B6DDB9048D0F4DAD42CB26AAFF0AFA075A960C@usctmx1106.merck.com>
Message-ID: <4A292093.2030400@prodsyse.com>

Liaw, Andy wrote:
> From: spencerg
>   
>>       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     
>>     
>
> [I've removed those on cc since I believe everyone will get this through
> R-devel anyway...]
>
> I'd suggest something like findFunction() or some such, if the main goal
> is to look for functions (not manuals, vignettes, mailing lists, etc.).
>   
      "findFunction" sounds to me like the best name I've heard so far. 

> RSiteSearch() was named what it was because it was meant as an interface
> to Jon's search site that has lots of things related to R.  
>
> It seems to me that the recent discussion has been about including other
> alternative search engines, etc.  Recall that when we were discussing
> including RSiteSearch() into base R, Jon basically had to commit to
> maintaining the site, as well as documenting how to replicate the site
> if and when he could no longer maintain it, before R Core accepted the
> function.  I think it would be wonderful to have a search facility
> that's all encompassing ("Roogle"?), but for inclusion into base R we
> really need to have the sites being searched being basically permenant.
>
> Perhaps a bit OT, but what would really be nice is if a search facility
> can not only find functions that's related to some search phrase, but
> also indicate whether the packages the functions belong to have already
> been installed on the user's system.  Sort of like "yum info" or "yum
> search" for those on RedHat-based Linux...
>   
      The current RSiteSeach package includes that adds other 
information from packageDescription to the package summary, adding 
(current default) "Title", "Version", "Author", "Maintainer", and (date) 
"Packaged".  If the package is not installed, these fields are left 
blank.  I've used this to prioritize which packages (and then which 
functions) I should consider first. 


      Best Wishes,
      Spencer

> Best,
> Andy
>
>
>  
>   
>> 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
>>>
>>>   
>>>       
>>     
> Notice:  This e-mail message, together with any attach...{{dropped:15}}



[Rd] proposed changes to RSiteSearch
spencerg