[plt-scheme] begin0 and tail recursion
Hi,
I'm probably being naive, but shouldn't the following code be tail
recursive? It seems it isnt, unless you remove 'pop from the second
last line.
(define (faki n)
(define (iter n res)
(if (= n 0)
(continuation-mark-set->list
(current-continuation-marks) 'key)
(with-continuation-mark 'key (gensym 'env)
(begin0 (iter (- n 1) (* n res)) 'pop))))
(iter n 1))
(faki 3) returns (env32208 env32207 env32206) as written above. If I
erase 'pop then (faki 3) returns just (env32211).