(defun append1 (list1 list2) (cond ((null list1) list2) (t (cons (car list1) (append1 (cdr list1) list2))))) (defun rev1 (list) (cond ((null list) nil) (t (append (rev1 (cdr list)) (cons (car list) nil)))))Also recall that the list function returns a list of it's arguments - that is, one cons cell for each argument, where the car points to the argument, and the cdr points to the next cons cell (except for the last cdr, which is nil). Draw the cons cells that get created in processing the following expressions. Make sure to label which cells are pointed at by X and Y.
(setq X (append1 (list 'a 'b 'c) (list 'd 'e 'f))) (setq Y (rev1 X))