Prequel
primitive recursive driven programming
Enter two non-negative integer numbers.
(Note that the Ackermann function grows very rapidly, even for small inputs.)
if ackermann is undefinedackermann = [ackermann.input]endifm_n = ackermann.pop()if m_n[0] == 0if ackermann.length() == 0ackermann.return(m_n[1]+1)endifprev_m_n = ackermann.pop()prev_m_n.push(m_n[1]+1)ackermann.push(prev_m_n)elif m_n[1] == 0m_n[0] -= 1m_n[1] = 1ackermann.push(m_n)elseackermann.push([m_n[0]-1])m_n[1] -= 1ackermann.push(m_n)endif
ackermann.inputThe list of values written in the editable text input.-> e.g. [3, 2]
ackermann.return(result)End computation and show the calculated value.-> result: calculated integer value