[R] infinite recursion using anonymous function

David Winsemius dwinsemius at comcast.net
Sun Aug 15 03:49:42 CEST 2010


On Aug 14, 2010, at 6:23 PM, Steven C. Bagley wrote:

> In R 2.11.1 on Mac OS 10.6.4, the following code works, but if the  
> print statement is removed or commented out, then an infinite  
> recursion results. Can someone explain what is going on? Thanks. -- 
> Steve
>
>
> foo2=function(f1, f2){
>  print(f1)
>  function(x){
>    f1(x) + f2(x) } }
>
> foo=function(...) Reduce(foo2, list(...))
>
> foo(sin, cos, tan)(1)

?force

 > foo2=function(f1, f2){
+  force(f1)
+  function(x){
+    f1(x) + f2(x) } }
 >
 > foo=function(...) Reduce(foo2, list(...))
 >
 > foo(sin, cos, tan)(1)
[1] 3.956286

-- 
David.



More information about the R-help mailing list