RosettaCodeData/Task/Ackermann-function/ArkScript/ackermann-function.ark

9 lines
211 B
Plaintext

(let ackermann (fun (m n) {
(if (> m 0)
(if (= 0 n)
(ackermann (- m 1) 1)
(ackermann (- m 1) (ackermann m (- n 1))))
(+ 1 n)) }))
(assert (= 509 (ackermann 3 6)) "(ackermann 3 6) == 509")