Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (def b {false 0
- true 1})
- (defn stop [_ _ x] x)
- (defn id [x] x)
- (defn pow-helper2 [n f a]
- (letfn [(start [m t]
- (let [done? (b (> m 1))
- again ([stop pow-helper2] done?)
- doit ([id f] done?)]
- (again (dec m) f (doit t))))]
- (start n a)))
- (defn pow-helper1 [n f a]
- (let [batch 111
- done? (b (< batch n))
- again ([stop pow] done?)
- donow ([n batch] done?)]
- (again (- n batch) f (pow-helper2 donow f a))))
- (defn pow [n f a]
- (let [batch 11111
- done? (b (< batch n))
- again ([stop pow] done?)
- donow ([n batch] done?)]
- (again (- n batch) f (pow-helper1 donow f a))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement