[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