RosettaCodeData/Task/Ackermann-function/EMal/ackermann-function.emal

11 lines
275 B
Plaintext

fun ackermann ← <int m, int n|when(m æ 0,
n + 1,
when(n æ 0,
ackermann(m - 1, 1),
ackermann(m - 1, ackermann(m, n - 1))))
for int m ← 0; m ≤ 3; ++m
for int n ← 0; n ≤ 6; ++n
writeLine("Ackermann(" + m + ", " + n + ") = ", ackermann(m, n))
end
end