[Rd] Capturing environment associated with a promise
Gabor Grothendieck
ggrothendieck at gmail.com
Mon Oct 8 17:23:57 CEST 2012
On Mon, Oct 8, 2012 at 9:22 AM, Hadley Wickham <h.wickham at gmail.com> wrote:
> Hi all,
>
> It's possible to capture the expression associated with a promise
> (using substitute). Is there any way to capture the environment
> associated with a promise? Similarly, is there any way to tell if
> something is a promise without accidentally evaluating it?
>
Both of these are possible in C. See:
https://stat.ethz.ch/pipermail/r-devel/2007-September/046943.html
It shows how to query an object to see if its a promise and but rather
than extract the environment it shows how to copy a promise without
evaluating it; however, it was also my experience that these two were
what was actually needed rather than being able to extract the
environment.
I would also recommend you do some testing since I found that adding
promises did not always make as big a difference in performance as I
had hoped and the added complexity may not be worth it in all cases.
For example, I had a version of proto that supported promises but
ggplot2 only ran slightly faster with it so I did not pursue it any
further. On the other hand if you are doing it to support
self-referential structures then that is a different matter.
--
Statistics & Software Consulting
GKX Group, GKX Associates Inc.
tel: 1-877-GKX-GROUP
email: ggrothendieck at gmail.com
More information about the R-devel
mailing list