Max-lisp-eval-глубина в многозначной функции

В четвертом издании книги "Маленький интриган", в главе 8 есть функция "multirember & co", я сделал это на языке "emacs lisp", что привело к следующей проблеме: Emacs: вложение превышает `max-lisp- Eval-глубина

(defun multirember&co (a lat col)
    (cond ((null lat) (funcall col '() '()))
          ((eq (car lat) a) (multirember&co a
                                              (cdr lat)
                                              (lambda (newlat seen)
                                                  (funcall col newlat
                                                               (cons (car lat) seen)))))
    (t (multirember&co a
                       (cdr lat)
                       (lambda (newlat seen)
                           (funcall col (cons (car lat) newlat)
                                         seen))))))



(defun a-friend (x y)
  (null y))

(multirember&co 'tuna '(tuna) 'a-friend) 

Emacs: вложенность превышает max-lisp-eval-глубина '

Что не так с моим кодом?

заранее спасибо

0 ответов

Другие вопросы по тегам