Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defmacro define-some-things ()
- (let ((f1 (gensym "fun1"))
- (f2 (gensym "fun2")))
- `(progn
- (defun start (n)
- (,f1 n))
- (defun ,f1 (n)
- (if (zerop n)
- (list ',f1 n)
- (cons ',f1 (,f2 (1- n)))))
- (defun ,f2 (n)
- (if (zerop n)
- (list ',f2 n)
- (cons ',f2 (,f1 (1- n))))))))
- (define-some-things)
- ; CL-USER> (start 4)
- ; (#:|fun137185| #:|fun237186| #:|fun137185| #:|fun237186| #:|fun137185| 0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement