From ligges at statistik.tu-dortmund.de  Sat Oct 23 17:27:10 2010
From: ligges at statistik.tu-dortmund.de (Uwe Ligges)
Date: Sat, 23 Oct 2010 17:27:10 +0200
Subject: [Rd] new.env does not recognize parents from subclassesof
	"environment"
In-Reply-To: <AANLkTinzfqSPAzRd0Wc4bYJ=N6DES-c1q=S7ZekCEO_R@mail.gmail.com>
References: <cpnwrpdgod9.fsf@gmail.com>	<4CBF2514.8050409@stanford.edu>	<cpnzku71qpq.fsf@gmail.com>	<77EB52C6DD32BA4D87471DCD70C8D7000393EF21@NA-PA-VBE03.na.tibco.com>	<4CC077BC.5050209@stanford.edu>	<cpnvd4u16vs.fsf@gmail.com>	<4CC1D1EB.1040102@stanford.edu>	<cpnr5fi0zrv.fsf@gmail.com>	<4CC2FA55.8000207@statistik.tu-dortmund.de>	<4CC2FA73.7050609@statistik.tu-dortmund.de>
	<AANLkTinzfqSPAzRd0Wc4bYJ=N6DES-c1q=S7ZekCEO_R@mail.gmail.com>
Message-ID: <4CC2FECE.5080105@statistik.tu-dortmund.de>



On 23.10.2010 17:25, Martin Maechler wrote:
> 2010/10/23 Uwe Ligges<ligges at statistik.tu-dortmund.de>:
>>
>>
>> On 23.10.2010 17:08, Uwe Ligges wrote:
>>>
>>> Looks like those ETH pages were nnot updated after the R-2.12.0 release
>>> (they do not show current R-tached / R-devel), hence CCing Martin
>>> Maechler.
>>
>>
>> ... which I actually do now...
>
> Hmm, but why?
> The daily snapshot page *does* show the current R-patched and R-devel
> tar balls ?
>
> Or what were you talking about ?

We are talking about the

http://stat.ethz.ch/R-manual/

page. R-devel NEWS show R-2.12.0, just as on example.

Uwe




> Regards,
> Martin
>
>>
>> Uwe
>>
>>
>>> Best,
>>> Uwe Ligges
>>>
>>>
>>>
>>>
>>>
>>> On 22.10.2010 21:54, Vitally S. wrote:
>>>>
>>>>
>>>>
>>>> John Chambers<jmc4 at stanford.edu>  writes:
>>>>
>>>>> You need to update your version of R (r-devel or 2.12 patched) to rev
>>>>> 53385 or later, and read NEWS, particularly the line:
>>>>>
>>>>> - Assignment of an environment to functions or as an attribute to other
>>>>> objects now works for subclasses of "environment".
>>>>>
>>>>
>>>> I am following the news in daily snapshots from here
>>>> ftp://ftp.stat.math.ethz.ch/Software/R
>>>> and the above line is still not in the NEWS of today's version.
>>>>
>>>> Thanks for the patch. Looking forward to the stable release.
>>>>
>>>> Vitally.
>>>>
>>>>> On 10/22/10 10:20 AM, Vitally S. wrote:
>>>>>>
>>>>>> Yet another inconsistency. environment<- does not work with S4:
>>>>>>
>>>>>>
>>>>>>> setClass("myenv", contains = "environment")
>>>>>>
>>>>>> [1] "myenv"
>>>>>>>
>>>>>>> env<- new("myenv")
>>>>>>> tf<- function(x){x}
>>>>>>> environment(tf)<- env
>>>>>>
>>>>>> Error in environment(tf)<- env :
>>>>>> replacement object is not an environment
>>>>>>
>>>>>>
>>>>>> Vitally.
>>>>>>
>>>>>>
>>>>>> John Chambers<jmc4 at stanford.edu>  writes:
>>>>>>>
>>>>>>> This is a problem related to the introduction of exact= into the [[
>>>>>>> and [[<- functions. As Bill says, the
>>>>>
>>>>> current
>>>>>>>
>>>>>>> method misuses eval.parent() when that argument is added.
>>>>>>>
>>>>>>> However, a simpler and more efficient solution is to migrate the
>>>>>>> checks for subclasses of "environment" used in
>>>>>>> other base code into the code for [[<- (and for $<-), at which
>>>>>>> point the methods for these functions are no
>>>>>
>>>>> longer
>>>>>>>
>>>>>>> needed.
>>>>>>>
>>>>>>> A solution on these lines is being tested now and will find its way
>>>>>>> into r-devel and 2.12 patched.
>>>>>>>
>>>>>>> One other point about the original posting:
>>>>>>>
>>>>>>> Please don't use constructions like env at .xData. This depends on the
>>>>>>> current implementation and is not part of
>>>>>
>>>>> the
>>>>>>>
>>>>>>> user-level definition. Use as(env, "environment") or equivalent.
>>>>>>> (In this case, the assignment of the object's
>>>>>
>>>>> own
>>>>>>>
>>>>>>> environment was irrelevant to the error.)
>>>>>>>
>>>>>>> John Chambers
>>>>>>>
>>>>>>> On 10/21/10 9:21 AM, William Dunlap wrote:
>>>>>>>>
>>>>>>>> The traceback looks very similar to a problem
>>>>>>>> in R 2.11.1 reported earlier this month by Troy Robertson.
>>>>>>>>> From: r-devel-bounces at r-project.org
>>>>>>>>> [mailto:r-devel-bounces at r-project.org] On Behalf Of Troy Robertson
>>>>>>>>> Sent: Wednesday, October 06, 2010 6:13 PM
>>>>>>>>> To: 'r-devel at R-project.org'
>>>>>>>>> Subject: Re: [Rd] Recursion error after upgrade to
>>>>>>>>> R_2.11.1[Sec=Unclassified]
>>>>>>>> It was due to a miscount of how many frames to go
>>>>>>>> up before evaluating an expression in
>>>>>>>> getMethod("[[<-",".environment") because setMethod()
>>>>>>>> introduced a local function in the new method.
>>>>>>>>
>>>>>>>> Bill Dunlap
>>>>>>>> Spotfire, TIBCO Software
>>>>>>>> wdunlap tibco.com
>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: r-devel-bounces at r-project.org
>>>>>>>>> [mailto:r-devel-bounces at r-project.org] On Behalf Of Vitally S.
>>>>>>>>> Sent: Thursday, October 21, 2010 9:00 AM
>>>>>>>>> To: John Chambers
>>>>>>>>> Cc: r-devel at r-project.org
>>>>>>>>> Subject: Re: [Rd] new.env does not recognize parents from
>>>>>>>>> subclassesof "environment"
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Here is an infinite recursion error which occurs only with S4
>>>>>>>>> subclasses assignment.
>>>>>>>>>
>>>>>>>>> setClass("myenv", contains = "environment")
>>>>>>>>> #[1] "myenv"
>>>>>>>>> env<- new("myenv")
>>>>>>>>> env[[".me"]]<- ?
>>>>>>>>> #Error: evaluation nested too deeply: infinite recursion /
>>>>>>>>> options(expressions=)?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> With basic types it works as expected:
>>>>>>>>>
>>>>>>>>> env1<- new.env()
>>>>>>>>> env1[[".me"]]<- env1
>>>>>>>>>
>>>>>>>>> May be this is related to active bindings that you mentioned,
>>>>>>>>> but I am still
>>>>>>>>> reporting it here.
>>>>>>>>>
>>>>>>>>> Vitally.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Thanks for the report. Should now be fixed in r-devel and
>>>>>>>>>
>>>>>>>>> 2.12 patched (rev 53383).
>>>>>>>>>>
>>>>>>>>>> Please do report any cases where a subclass of environment
>>>>>>>>>
>>>>>>>>> doesn't work. There are some known cases in locking and
>>>>>>>>>>
>>>>>>>>>> active binding, that will be fixed in due course.
>>>>>>>>>>
>>>>>>>>>> The workaround for any such problem is usually as.environment().
>>>>>>>>>>
>>>>>>>>>> On 10/20/10 3:17 AM, Vitaly S. wrote:
>>>>>>>>>>>
>>>>>>>>>>> Dear Developers,
>>>>>>>>>>>
>>>>>>>>>>> A lot has been changed in the R12.0 with respect to
>>>>>>>>>
>>>>>>>>> behavior of "environment"
>>>>>>>>>>>
>>>>>>>>>>> subclasses. Many thanks for that.
>>>>>>>>>>>
>>>>>>>>>>> One small irregularity, though; new.env does not allow the
>>>>>>>>>
>>>>>>>>> parent to be from S4
>>>>>>>>>>>
>>>>>>>>>>> subclass.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> setClass("myenv", contains="environment")
>>>>>>>>>>>
>>>>>>>>>>> [1] "myenv"
>>>>>>>>>>>>
>>>>>>>>>>>> new.env(parent=new("myenv"))
>>>>>>>>>>>
>>>>>>>>>>> Error in new.env(parent = new("myenv")) : 'enclos' must be
>>>>>>>>>
>>>>>>>>> an environment
>>>>>>>>>>>
>>>>>>>>>>> I wonder if this is a "planed" behavior.
>>>>>>>>>>>
>>>>>>>>>>> The use of .xData slot obviously works:
>>>>>>>>>>>>
>>>>>>>>>>>> new.env(parent=new("myenv")@.xData)
>>>>>>>>>>>
>>>>>>>>>>> <environment: 063bb9e8>
>>>>>>>>>>> Thanks,
>>>>>>>>>>> Vitaly.
>>>>>>>>>>>
>>>>>>>>>>> ______________________________________________
>>>>>>>>>>> R-devel at r-project.org mailing list
>>>>>>>>>>> https://stat.ethz.ch/mailman/listinfo/r-devel>>>
>>>>>>>>>>> ______________________________________________
>>>>>>>>>
>>>>>>>>> R-devel at r-project.org mailing list
>>>>>>>>> https://stat.ethz.ch/mailman/listinfo/r-devel>>>>
>>>>>>>>> ______________________________________________
>>>>>>>
>>>>>>> R-devel at r-project.org mailing list
>>>>>>> https://stat.ethz.ch/mailman/listinfo/r-devel>
>>>>>>> ______________________________________________
>>>>>>
>>>>>> R-devel at r-project.org mailing list
>>>>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>>>
>>>>> ______________________________________________
>>>>> R-devel at r-project.org mailing list
>>>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>>
>>>> ______________________________________________
>>>> R-devel at r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>>



[Rd] new.env does not recognize parents from subclassesof "environment"
Uwe Ligges