From luke-tierney at uiowa.edu  Wed May  4 15:06:13 2011
From: luke-tierney at uiowa.edu (luke-tierney at uiowa.edu)
Date: Wed, 4 May 2011 08:06:13 -0500
Subject: [Rd] Recursive objects
In-Reply-To: <BANLkTi=jOrtXY-njYJu7Z7pmokSzLDPfkA@mail.gmail.com>
References: <BANLkTi=jOrtXY-njYJu7Z7pmokSzLDPfkA@mail.gmail.com>
Message-ID: <alpine.DEB.2.00.1105040752190.4973@luke-inspiron>

I never use is.recursive/is.atomic because the definition they use for
an object to be recursive doesn't usually coincide with what I am
interested in. (If you want to know what that definition is you can
look at the source code, coerce.c:1790.) In computing on the language I
would want one notion where pretty much only calls are recursive in
the sense of having componets that need to be recursed into (you can
see how that is handled in the byte code compiler which is in the
sources as a noweb file). At the internal level, for example in the
GC, _every_ object is recursive in the sence of needing to be checked
for pointers to other objects, because of the attribute field.

There have been discussions of this previeously -- you might search
the archive.

Best,

luke

On Wed, 4 May 2011, Hadley Wickham wrote:

> Hi all,
>
> Does anyone have a comprehensive list of recursive-type objects in R?
> is.recursive defines them as by exclusion: "most types of objects are
> regarded as recursive, except for  vector types, ?NULL? and symbols
> (as given by ?as.name?)."  I think this that means recursive objects
> are:
>
> * lists
> * pairlists
> * calls
> * expressions
>
> Did I miss anything?
>
> Hadley
>
>

-- 
Luke Tierney
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


[Rd] Recursive objects
luke-tierney at uiowa.edu