Функция теста, как показано ниже:Почему не освобождается локальная переменная?
(defun fab (n)
(let ((res '(1 1)))
(loop for i from 2 to n do
(nconc res (list (+ (nth (- i 2) res) (nth (- i 1) res)))))
res))
$ ЭСЛ
... EECL (Встраиваемый Common-Lisp) 12.7.1 (мерзавец: UNKNOWN)
...
>(fab 10)
(1 1 2 3 5 8 13 21 34 55 89)
>(fab 20)
(1 1 2 3 5 8 13 21 34 55 89 2 3 5 8 13 21 34 55 89 144 91 5 8 13 21 34 55 89 144
Тогда я перезапустить ECL
>(fab 20)
(1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946)
Кажется, что «res» не освобождается после (fac 10)?
С уважением!