Advertisement
Guest User

Untitled

a guest
Feb 27th, 2022
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (def b {false 0
  2.         true  1})
  3. (defn stop [_ _ x] x)
  4. (defn id [x] x)
  5.  
  6. (defn pow-helper2 [n f a]
  7.   (letfn [(start [m t]
  8.             (let [done? (b (> m 1))
  9.                   again ([stop pow-helper2] done?)
  10.                   doit  ([id f] done?)]
  11.               (again (dec m) f (doit t))))]
  12.     (start n a)))
  13.  
  14. (defn pow-helper1 [n f a]
  15.   (let [batch 111
  16.         done? (b (< batch n))
  17.         again ([stop pow] done?)
  18.         donow ([n batch] done?)]
  19.     (again (- n batch) f (pow-helper2 donow f a))))
  20.  
  21. (defn pow [n f a]
  22.   (let [batch 11111
  23.         done? (b (< batch n))
  24.         again ([stop pow] done?)
  25.         donow ([n batch] done?)]
  26.     (again (- n batch) f (pow-helper1 donow f a))))
  27.  
  28.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement