[R] terminology for frames and environments
Peter Dalgaard
p.dalgaard at biostat.ku.dk
Mon Jun 14 14:33:09 CEST 2004
Gabor Grothendieck <ggrothendieck at myway.com> writes:
> : > We have been approaching consensus on a couple of occasions, but
> : > (obviously) not been too good at enforcing it. I think the consensus
> : > is that a "frame" is a set of variable bindings (implemented as a
> : > hashed list), an environment is a frame plus an enclosing environment,
> : > i.e. a linked list of frames, terminated by NULL. It is occasionally
> : > necessary to refer to the individual frames as opposed to the whole
> : > list, which is exactly the point of the inherits argument.
....
> Regarding Peter's comment, I would prefer to keep referring to an
> environment as an object of class "environment" namely what
> new.env creates, parent.env changes, is.environment
> queries, etc. so that R does not need a massive change.
>
> In that case I guess:
>
> - frame and environment are synonyms
No. Please read what I wrote again.
> - enclosing environment is an environment together with its lexical ancestors
No. It *is* the lexical ancestor(s).
> - the parent without further qualification is the lexical parent
No. (In particular, sys.parent() is not)
> - the caller or call parent is the environment one higher up on call stack
...which is a tree! and the parent caller is not necessarily the one
one step above in the *context* stack. (Go play with sys.status()
until you understand this.)
> - an ordered set of environments can be used to refer to either the
> call stack, an environment and its ancestors or other ordered set of
> environments
Er, what do you mean by that...???
--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-help
mailing list