Re: [Rd] attributes of environments

From: Duncan Murdoch <>
Date: Wed 05 Jul 2006 - 19:20:43 GMT

On 7/5/2006 2:23 PM, Gabor Grothendieck wrote:

> On 7/5/06, Simon Urbanek <> wrote:

>> Gabor,
>> On Jul 5, 2006, at 1:16 PM, Gabor Grothendieck wrote:
>> >> It really is the way R is designed to work. Whether it is a
>> >> problem or not is a separate issue. Environments really are
>> >> references, not values, and they really work differently from the
>> >> way most other objects work.
>> >
>> > OK. Its not a bug but as we discuss this it seems to me that its
>> > current operation is undesirable
>> We discuss it only because *you* think it's undesirable...

Gabor, I think Simon misread what you wrote above (taking "as we discuss this" to mean "because we discuss this", rather than "during our discussion of this"), and you misread his reply. This doesn't look to me like an ad hominem.

>> > since environments don't seem to fit into the scheme that other
>> > objects do yet different design/implement would allow this to occur.
>> >
>> Environments are different *on purpose*, what environments do cannot
>> be achieved using any other 'standard' object. And it's exactly
>> environment's behavior on assign that makes it useful, so what you
>> are proposing is basically making it into a list (so that it gets
>> copied on assign), which makes no sense. What you really want is
>> something other than an environment, but you insist on using an
>> environment - it's like insisting on using a screwdriver on a nail -
>> it's not the screwdriver's fault that it doesn't work ...
>> .. and since you pounding on OO - environments are the closest you
>> can get to an object semantics as implemented in the most popular OO
>> languages, so I wonder why you aren't arguing to make all objects
>> into references ;).
>> Cheers,
>> Simon

> I don't think ad hominem arguments and unsupported statements that
> things "make no sense" or analogies to screwdrivers have any relevance
> to this discussion. 

You have ignored my explanation of why things are the way they are. Simon's statement is not unsupported in the context of the complete discussion.

  I think by this time I have shown that subclassing of > environments does not work yet it could if it were designed differently > and furthermore there are significant problems with the workarounds.

I don't think you've shown that subclassing of environments doesn't work. You have an example that shows that shows that R implements Henrik's "Case 2" rather than his "Case 1", but as Thomas and I said, that really has nothing to do with subclassing.

Subclassing is about defining a new class, not about copying objects. You can (and did!) define a new class which inherits from the environment class.

There may be problems in UseMethod or NextMethod when the object is an environment; if there are, then you're right. But so far you haven't shown that.

Duncan Murdoch

> ______________________________________________
> mailing list
> mailing list Received on Thu Jul 06 06:37:00 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Wed 05 Jul 2006 - 22:28:09 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.