May I say that factorials are the best example for where to not use recursion? Here's a much simplier, faster
and cmore compact version: <g>
func Factorial
lparam tnNumber
local lnResult
lnResult = 1
for lnI = 2 to tnNumber
lnResult = lnResult * lnI
endfor
return lnResult
Vlad