Fibonacci Numbers With the U Combinator

Computing Fibonacci numbers with the U combinator from Combinatory Logic, by kbk ,2012

namespace path ::tcl::mathop

proc U {x args} {tailcall apply $x $x {*}$args}

puts [U {{f n} {
    if {$n <= 1} {
        return $n
    } else {
        tailcall + [U $f [- $n 1]] [U $f [- $n 2]]
    }
}} 10]

http://paste.tclers.tk/2685