28 lines
496 B
Plaintext
28 lines
496 B
Plaintext
#define system.
|
|
#define extensions.
|
|
|
|
// --- Ackermann function ---
|
|
|
|
#symbol ackermann = (:m:n)
|
|
[
|
|
m =>
|
|
0 ? [ n + 1 ]
|
|
> 0 ? [
|
|
n => 0 ? [ ackermann eval:(m - 1):1 ]
|
|
> 0 ? [ ackermann eval:(m - 1):(ackermann eval:m:(n-1)) ]
|
|
]
|
|
].
|
|
|
|
#symbol program =
|
|
[
|
|
0 to:3 &doEach: (:i)
|
|
[
|
|
0 to:5 &doEach: (:j)
|
|
[
|
|
console writeLine:"A(":i:",":j:")=":(ackermann eval:i:j).
|
|
].
|
|
].
|
|
|
|
console readChar.
|
|
].
|