Posted to tcl by kbk at Mon May 04 14:04:05 GMT 2009view pretty
puts [apply {{f args} {tailcall {*}$f $f {*}$args}} {apply {{f x} { if {$x == 0} { expr 1 } else { expr {$x * [{*}$f $f [expr {$x - 1}]]} } }}} 6]
puts [apply {{f args} {tailcall {*}$f $f {*}$args}} {apply {{f x} { if {$x == 0} { expr 1 } else { expr {$x * [{*}$f $f [expr {$x - 1}]]} } }}} 6]