This commit is contained in:
Ingy döt Net 2013-10-27 22:24:23 +00:00
parent 6f050a029e
commit 776bba907c
3887 changed files with 59894 additions and 7280 deletions

View file

@ -1,5 +1,9 @@
(defmacro recursive ((&rest parm-init-pairs) &body body)
(let ((hidden-name (gensym "RECURSIVE-")))
`(macrolet ((recurse (&rest args) `(,',hidden-name ,@args)))
(labels ((,hidden-name (,@(mapcar #'first parm-init-pairs)) ,@body))
(,hidden-name ,@(mapcar #'second parm-init-pairs))))))
(defun fib (number)
"Fibonacci sequence function."
(if (< number 0)
(error "Error. The number entered: ~A is negative" number)
(labels ((fib1 (n a b)
(if (= n 0)
a
(fib1 (- n 1) b (+ a b)))))
(fib1 number 0 1))))