Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defun inc (x) (+ x 1))
- (defun dec (x) (- x 1))
- (defun add1 (a b)
- (if (zerop a)
- b
- (inc (add1 (dec a) b))))
- (defun add2 (a b)
- (if (zerop a)
- b
- (add2 (dec a) (inc b))))
- (trace add1 add2)
- (add1 4 5)
- 0> Calling (add1 4 5)
- 1> Calling (add1 3 5)
- 2> Calling (add1 2 5)
- 3> Calling (add1 1 5)
- 4> Calling (add1 0 5)
- <4 add1 returned 5
- <3 add1 returned 6
- <2 add1 returned 7
- <1 add1 returned 8
- <0 add1 returned 9
- --> 9
- (add2 4 5)
- 0> Calling (add2 4 5)
- 1> Calling (add2 3 6)
- 2> Calling (add2 2 7)
- 3> Calling (add2 1 8)
- 4> Calling (add2 0 9)
- <4 add2 returned 9
- <3 add2 returned 9
- <2 add2 returned 9
- <1 add2 returned 9
- <0 add2 returned 9
- --> 9
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement