>>20
[code](define gen-exp
(λ(op a b init)
(let iter ((a a)
(b b)
(accum init))
(cond ((zero? b) accum)
((even? b) (iter (op a a) (/ b 2) accum))
(else (iter a (dec b) (op a accum)))))))
(define ^ (λ(a b) (gen-exp * a b 1)))
(define ↑ (λ(a b)
(if (one? b)
a
(^ a (↑ a (dec b))))))
> (↑ 4 2)
256[code]