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

Duncan Murdoch murdoch.duncan at gmail.com
Mon Apr 11 22:16:54 CEST 2011


On 11/04/2011 3:41 PM, Roebuck,Paul L wrote:
>
>
> 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?

Of course it would.  Codetools is GPL licensed, so just do it.

Duncan Murdoch



More information about the R-devel mailing list