The only place I know lazy evaluation really is visible and widely used is in the passing of function arguments. It's what allows magic like
zz <- 1:5 plot(zz) to know your variable was called "zz." It can also show up in some places through the promise mechanism, but you have to do a little bit of work to see them: zz <- lapply(1:3, function(i) function(x) x^i) zz[[2]](2) Without lazy evaluation this would have been 4. Sometimes this winds up hurting folks -- I'm not sure if it has a "good reason" to be there or if its a consequence of lazy mechanisms elsewhere (which improve overall performance) But I don't believe R allows lazy constructors in any context. Best, Michael On Mon, May 14, 2012 at 4:29 PM, J Toll <jct...@gmail.com> wrote: > Thank you all for the replies. > > On Mon, May 14, 2012 at 2:45 PM, R. Michael Weylandt > <michael.weyla...@gmail.com> wrote: >> R is lazy, but not quite that lazy ;-) > > Oh, what is this world coming to when you can't count on laziness to > be lazy. ;) I should probably stop reading about Haskell and their > lazy way of doing things. > > As a relatively naive observation, in R, it seems like argument > recycling kind of breaks the power of lazy evaluation. > > Thanks for the suggestion of list.files() > > > James ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.