Advertisement
Guest User

Untitled

a guest
Feb 21st, 2018
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.73 KB | None | 0 0
  1. (defun inc (x) (+ x 1))
  2. (defun dec (x) (- x 1))
  3.  
  4. (defun add1 (a b)
  5.   (if (zerop a)
  6.       b
  7.       (inc (add1 (dec a) b))))
  8.  
  9. (defun add2 (a b)
  10.   (if (zerop a)
  11.       b
  12.       (add2 (dec a) (inc b))))
  13.  
  14. (trace add1 add2)
  15.  
  16. (add1 4 5)
  17. 0> Calling (add1 4 5)
  18.  1> Calling (add1 3 5)
  19.   2> Calling (add1 2 5)
  20.    3> Calling (add1 1 5)
  21.     4> Calling (add1 0 5)
  22.     <4 add1 returned 5
  23.    <3 add1 returned 6
  24.   <2 add1 returned 7
  25.  <1 add1 returned 8
  26. <0 add1 returned 9
  27. --> 9
  28.  
  29. (add2 4 5)
  30. 0> Calling (add2 4 5)
  31.  1> Calling (add2 3 6)
  32.   2> Calling (add2 2 7)
  33.    3> Calling (add2 1 8)
  34.     4> Calling (add2 0 9)
  35.     <4 add2 returned 9
  36.    <3 add2 returned 9
  37.   <2 add2 returned 9
  38.  <1 add2 returned 9
  39. <0 add2 returned 9
  40. --> 9
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement