( recursive factorial. given x on top, followed by )
( an "accumulator" containing the product except for x! )
: fact-help2
dup if
swap over swap
*
swap 1 -
fact-help2
then
;
: fact
1 swap
fact-help2
drop
;
: demo5
" The factorial of 3 is: " 3 fact . cr
" The factorial of 5 is: " 5 fact . cr
;
demo5