Posted to tcl by kbk at Fri Jul 18 21:43:02 GMT 2008view pretty
proc fact3 {n c} { if {$n == 0} { {*}$c 1 } else { tailcall fact3 [- $n 1] \ [list apply {{n c f} { puts [list continuation $c will get the product of $n and $f] {*}$c [* $n $f] }} $n $c] } } fact3 6 puts