growl/test.grr
2026-01-20 11:05:59 -03:00

15 lines
280 B
Text

def over { swap dup >r swap r> }
def dip { swap >r call r> }
def keep { over >r call r> }
def if { ? call }
def fac {
dup if: 1 <= [drop 1] [dup 1 - fac *];
}
def fib {
dup if: 1 <= [] [dup 1 - fib swap 2 - fib +];
}
[ 20 fib ] call \=> 6765
[ 10 fac ] call \=> 3628800