Re: [Rd] Attributes of top level environments clobbered (was Re: [R] possible bug in function 'var' in R 2.7.2?)

From: Gabor Grothendieck <ggrothendieck_at_gmail.com>
Date: Fri, 03 Oct 2008 12:39:42 -0400

On Fri, Oct 3, 2008 at 11:43 AM, Luke Tierney <luke_at_stat.uiowa.edu> wrote:
> I will look into fixing it sometime if no one else feels like doing
> it. The environment aspect is not high priority; some other related
> issues are more so (locking and active bindings as I recall). But
> even thoughs may not make it to the top of my queue any time soon.
>
> The issue of placing attributes on environments has come up before,
> many times. It is routinely advised against. For better or worse,
> the way environments were exposed to the R level is not designed to
> support this properly. Fixing this so that attributes are supported
> reliably is non-trivial, and it is hard to justify the effort given
> that there are standard work-arounds (such as putting the environment
> in a list and attaching attributes to the list). An alternative way
> of removing the issues associated with attributes on environments, in
> line with the way NULL works, is to disable placing attributes on
> environments, at least from the R level. This option is looking
> increasingly attractive.

These are not good options:

>
> luke
>
> On Fri, 3 Oct 2008, Gabor Grothendieck wrote:
>
>> On Fri, Oct 3, 2008 at 3:23 AM, Martin Maechler
>> <maechler_at_stat.math.ethz.ch> wrote:
>>>
>>> a much better (and much less error-prone) idea would be to install
>>> R 2.8.0 alpha even now.
>>> It will become 'beta' early next week.
>>>
>>> We are asking the R community to please install and use
>>> pre-release versions of R (if you can / are allowed to)
>>> at least from beta onwards, and report problems you see early on
>>> *before* the final release.
>>
>> The bug discussed in the following year-old post suggested that
>> the problem of clobbering attributes of top level environment objects
>> would be fixed for 2.7 but its still in R version 2.7.2 (2008-08-25)"
>> and also still in "R version 2.8.0 alpha (2008-10-01 r46589)"
>>
>> https://stat.ethz.ch/pipermail/r-devel/2007-October/047184.html
>>
>> The Avoiding R Bugs section of this page:
>>
>> http://r-proto.googlecode.com
>>
>> has more discussion as well as a list of some other R bugs.
>>
>> This can be tested by creating a package with these two files only:
>>
>> ---DESCRIPTION---
>> Package: testlazy
>> Version: 1.0-0
>> Date: 2008-10-03
>> Title: Test lazy loading
>> Author: G Grothendieck
>> Maintainer: G Grothendieck <ggrothendieck_at_gmail.com>
>> Description: Test lazy loading with top level objects.
>> Depends: proto
>> LazyLoad: yes
>> License: GPL-2
>> ---R/testlazy.R---
>> TopLevel <- proto()
>> ---
>>
>> And then testing it:
>>
>> library(testlazy)
>> class(TopLevel)
>>
>> If its class is "environment" only then the class attribute was stripped.
>>
>> ______________________________________________
>> R-devel_at_r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>
> --
> Luke Tierney
> Chair, Statistics and Actuarial Science
> Ralph E. Wareham Professor of Mathematical Sciences
> University of Iowa Phone: 319-335-3386
> Department of Statistics and Fax: 319-335-3017
> Actuarial Science
> 241 Schaeffer Hall email: luke_at_stat.uiowa.edu
> Iowa City, IA 52242 WWW: http://www.stat.uiowa.edu
>



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Fri 03 Oct 2008 - 16:41:59 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Sun 05 Oct 2008 - 22:30:16 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive