[ :x x x ] :dup # This a dumb little workaround to allow for recursion so factorial inside of # the function definition will look in the correct scope 0 :factorial [ dup! [dup! 1 -! factorial! *!] [:_ 1] if! ] :factorial [ dup! print! "! = " print! factorial! println! ] :do-factorial 1 do-factorial! 2 do-factorial! 3 do-factorial! 4 do-factorial! 5 do-factorial! 6 do-factorial! 7 do-factorial! 8 do-factorial! 9 do-factorial!