Lisp プログラミング 第3回


第9章 課題

演習1: 第2回・第7章・演習2と5で定義したrevとrev2の動作をtraceして調べなさい。

(defun rev (x)
    (cond ((null x) nil)
          (t (append (rev (cdr x)) (list (car x))))))


(defun rev2 (x)
    (rev2-sub x nil))

(defun rev2-sub (x y)
    (cond ((null (cdr x)) (cons (car x) y))
          (t (rev2-sub (cdr x) (cons (car x) y)))))