[R] Evaluation of defaults in functions

hadley wickham h.wickham at gmail.com
Fri Sep 29 16:12:01 CEST 2006


> > But doesn't R has a rather limited force of lazy evaluation? - you
> > have no control over it, apart from that arguments are evaluated
> > lazily.  This rather limited compared to other languages (no lazy
> > lists etc)
>
> You do have more control than that.  You can't put a promise in a list,
> but you can put one in an environment, e.g.
>
>  > x <- new.env()
>  > y <- 1
>  > delayedAssign("z", y, assign=x)
>  > y <- 2
>  > x$z
> [1] 2

That's interesting.  Is it possible to treat an environment like a
list in most situations?

I had experimented with lazy lists/streams in R a while go (as they
seem like a very natural way of dealing with datasets that are too
large to fit in memory) but got stuck.  This might let me get a little
further.

Hadley



More information about the R-help mailing list