/* define a recursive function */ let function printint(i: int) = let function f(i:int) = if i>0 then (f(i/10); print(chr(i-i/10*10+ord("0")))) in if i<0 then (print("-"); f(-i)) else if i>0 then f(i) else print("0") end /* calculate n! */ function nfactor(n: int): int = if n = 0 then 1 else n * nfactor(n-1) in (printint(nfactor(6)); print("\n")) end