13 lines
246 B
Text
13 lines
246 B
Text
def dip { swap >r call r> }
|
|
def keep { over >r call r> }
|
|
def if { ? call }
|
|
|
|
def fib/aux {
|
|
if: dig dup 0 =
|
|
[drop drop]
|
|
[bury [swap 1 - swap] dip dup [+] dip swap fib/aux]
|
|
;
|
|
}
|
|
def fib { 0 1 fib/aux }
|
|
|
|
[ 50 fib ] call \=> 12586269025
|