(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")