Commits

John Chandler committed ddfc109

Added do-search macro, though this raises an exception about tail recursion, to elicit feedback.

  • Participants
  • Parent commits 3066236

Comments (0)

Files changed (1)

File code_kata_2e.clj

 (defmacro search-exhausted []
   (list '> 'lower 'upper))
 
+(defmacro do-search [ & body ]
+  ; NOT WORKING - "Can only recur from tail position"
+  `(loop [ ~'lower 0
+		   ~'upper (get-upper) ] ~@body
+     {:lower ~'lower :upper ~'upper }))
+
 (defn
   #^{:test (fn []
 			 (assert (= -1 (chop 3 []) ))
 			 (assert (= -1 (chop 8 [1 3 5 7]) )) ) }
   chop
   [item list]
-  (loop [ lower 0
-          upper (get-upper) ]
+  (do-search
 	(if (search-exhausted)
 	  -1
 	  (if (< (get-mid) item)