[Rd] Wish there were a "strict mode" for R interpreter. What

Roebuck,Paul L proebuck at mdanderson.org
Mon Apr 11 21:41:26 CEST 2011




On 4/11/11 11:04 AM, "Spencer Graves" <spencer.graves at prodsyse.com> wrote:

> On 4/11/2011 8:46 AM, Simon Urbanek wrote:
>> On Apr 11, 2011, at 11:28 AM, Davor Cubranic wrote:
>> 
>>> On 2011-04-09, at 2:08 PM, Ted Harding wrote:
>>> 
>>>> I think the right thing to so is to introduce the students to the
>>>> basics of scoping, early in the process of learning R.
>>> I know the basics of scoping perfectly well, but that doesn't stop me from
>>> occasionally misspelling a variable name that only causes an error much
>>> later.
>>> 
>>> OTOH, I think with Perl you can start declaring your variables "local" and
>>> keep the interpreter happy. But in R's context you then have to also start
>>> declaring what you expect to inherit from parent environments, and pretty
>>> soon the code is so encrusted with annotation barnacles that it loses the
>>> simplicity that  makes R so nice in the interactive mode.
>>> 
>>> What would be really nice is if we had a smart R editor/IDE that would
>>> "DWIM" and put a red underline under a misspelled name, but leave it alone
>>> when, as Duncan said, it's in the environment.
>>> 
>> ... which is, of course, impossible since the editor has no idea what
>> environment you will evaluate the function in ... It can make assumptions but
>> they may as wrong as the spurious warnings discussed so people will complain
>> either way ;)
> 
>        For the record, my "complaint" stemmed from my inability to see a
> way to get rid of that message in that context.  In most cases, I've
> found that message to be very valuable in identifying latent bugs in
> code.  In that context, however, the message seemed inappropriate.
> Duncan privately suggested I add "LazyData:  yes" to the package
> DESCRIPTION file.  I did that, and the offending message disappeared!

So would it be possible to have something akin to lint comment directives
to allow specific "errors" to be ignored by codetools?



More information about the R-devel mailing list