program ackermann; (for m in [0..3]) print(+/ [rpad('' + ack(m, n), 4): n in [0..6]]); end; proc ack(m, n); return {[0,n+1]}(m) ? ack(m-1, {[0,1]}(n) ? ack(m, n-1)); end proc; end program;