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 ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
