In terms of efficiency of recursoin, I wonder how to trigger tail recursion in R. [s:16]
> f=function(x){<br />
f0=function(x,rslt){<br />
print(sys.frames()[-1])<br />
if(x==1L) return(rslt) else Recall(x-1L, rslt+1L)<br />
}<br />
f0(x, 1L)<br />
}<br />
><br />
> fx = function(x) {<br />
print(sys.frames())<br />
if (x == 1L) 1L else Recall(x - 1L) + 1L<br />
}<br />
><br />
><br />
> f(2L)<br />
[[1]]<br />
<environment: 0x16400c8></p>
<p>[[1]]<br />
<environment: 0x16400c8></p>
<p>[[2]]<br />
<environment: 0x163db90></p>
<p>[[3]]<br />
<environment: 0x163dae8></p>
<p>[1] 2<br />
><br />
> fx(2L)<br />
[[1]]<br />
<environment: 0x16500a8></p>
<p>[[1]]<br />
<environment: 0x16500a8></p>
<p>[[2]]<br />
<environment: 0x1e1f478></p>
<p>[[3]]<br />
<environment: 0x1e1f408></p>
<p>[1] 2<br />
</p>