3 # This file is part of NIT ( http://www.nitlanguage.org ).
4 # This program is public domain
6 # Task: Ackermann function
7 # SEE: <http://rosettacode.org/wiki/Ackermann_function>
9 # A simple straightforward recursive implementation.
10 module ackermann_function
12 fun ack
(m
, n
: Int): Int
14 if m
== 0 then return n
+ 1
15 if n
== 0 then return ack
(m-1
,1)
16 return ack
(m-1
, ack
(m
, n-1
))