Posted to tcl by evilotto at Wed Jun 26 17:52:55 GMT 2013view raw
- proc tcl::mathfunc::a {m n} {
- if {$m == 0} {
- return [expr {$n + 1}]
- } elseif {$m > 0 && $n == 0} {
- tailcall tcl::mathfunc::a [expr {$m - 1}] 1
- } elseif {$m > 0 && $n > 0} {
- tailcall tcl::mathfunc::a [expr {$m - 1}] [tcl::mathfunc::a $m [expr {$n - 1}]]
- }
- }