On 9/9/2009 9:30 AM, Hadley Wickham wrote:
Hi all,
Is it possible to determine the environment in which a promise will be
evaluated? e.g.
f <- function(code) { force(code) }
f({
a <- 1
b <- 2
})
Is there any way to tell from within f that a and b will be created in
the global environment?
I don't think so in R code, but C code to do it would be possible. It
needs to be in C code to avoid forcing the promise.
I think we'd be reluctant to make an R function available to do this,
because it requires non-standard evaluation, and it's not something a
normal function should care about. (The promise belongs to the caller,
not to the function: why would the function need to play with it? It
should be happy with the value, or maybe a text representation of the
promise, for labelling purposes.)
Duncan Murdoch
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel