# Ackermann
if not (__arg__) # get input;
println("Ackermann's function ...")
println("Enter a number on the command line!")
else
NUM = Int(__arg__[0])
printf('Ack (3,%d): %d\n', NUM, Ack(3, NUM))
end if
sub Ack(m, n) # one way
if m == 0 return n + 1
elif n == 0 return Ack(m - 1, 1)
else return Ack(m - 1, Ack(m, n - 1));;
;;
# alternate way
sub ackermann (m, n)
return m ? (n ? ackermann (m - 1, ackermann (m, n - 1)) :
ackermann (m - 1, 1)) : n + 1
;;