/* Ackermann function */ proc ack(word m, n) word: if m=0 then n+1 elif n=0 then ack(m-1, 1) else ack(m-1, ack(m, n-1)) fi corp; /* Write a table of Ackermann values */ proc nonrec main() void: byte m, n; for m from 0 upto 3 do for n from 0 upto 8 do write(ack(m,n) : 5) od; writeln() od corp