[Rd] all.equal applied to function closures

Abby Spurdle @purd|e@@ @end|ng |rom gm@||@com
Wed Dec 2 02:33:38 CET 2020


> Bill, I'm sure you've noticed that we did write  all.equal.environment()
> to work recursively... Actually, I had worked quite a bit at
> that, too long ago to remember details, but the relevant svn log
> entry is
> ------------------------------------------------------------------------
> r66640 | maechler | 2014-09-18 22:10:20 +0200 (Thu, 18 Sep 2014) | 1 line
>
> more sophisticated all.equal.environment(): no longer "simple" infinite recursions
> ------------------------------------------------------------------------

I haven't checked the above reference.
But I would like to note the following behaviour:

    #e group
    e = new.env ()
    e1 = new.env ()
    e$e = e1
    e1$e = e

    #f group
    f = new.env ()
    f1 = new.env ()
    f2 = new.env ()
    f$e = f1
    f1$e = f2
    f2$e = f

    all.equal (e, f)

I tried a number of examples with circular references.
All worked correctly, except for "identical" environments nested an
unequal number of times.

I suspect there may be other special cases.



More information about the R-devel mailing list