Recursive objects
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