git @ Cat's Eye Technologies Bhuna / master eg / ack2.bhu
master

Tree @master (Download .tar.gz)

ack2.bhu @masterraw · history · blame

// Ackermann function.  Derived from:
// $Id: ackermann.lua.html,v 1.5 2004/07/03 07:11:33 bfulgham Exp $
// http://www.bagley.org/~doug/shootout/

Zero = 0
One = 1
Two = 2

Ack = ^ M, N {
    if M = Zero
	return N + One
    else if N = Zero
	return Ack(M - One, One)
    else
        return Ack(M - One, Ack(M, (N - One)))
}

Num = 7
Print "Ack(3,", Num, "): ", Ack(3, Num), EoL