From proebuck at mdanderson.org  Mon Apr 11 21:41:26 2011
From: proebuck at mdanderson.org (Roebuck,Paul L)
Date: Mon, 11 Apr 2011 14:41:26 -0500
Subject: [Rd] Wish there were a "strict mode" for R interpreter. What
In-Reply-To: <4DA326AB.2010107@prodsyse.com>
Message-ID: <C9C8C396.17BDF%proebuck@mdanderson.org>




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?



[Rd] Wish there were a "strict mode" for R interpreter. What
Roebuck,Paul L