( 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
