Plaster
New
List
Login
text
default
anonymous
2018.12.06 12:08:12
(defun append-find (l1 l2 lres) (cond ((eq l1 '?)(cond ((and (not(equal l2 (cdr lres))) (not(equal lres NIL))) (cons (car lres) (append-find '? l2 (cdr lres)))) ((equal (cdr lres) l2) (cons (car lres) '())) (t '(the lists introduced are incompatible)))) ((eq l2 '?) (if (equal l1 NIL) (prin1 lres) (cond ((equal (car l1) (car lres)) (append-find (cdr l1) '? (cdr lres))) (t '(the lists introduced are incompatible))))) (t (append l1 l2))))
Raw
Annotate
Repaste
Edit
Annotations
text
default
anonymous
2018.12.06 13:34:33
CL-USER> (trace append-find) (APPEND-FIND) CL-USER> (append-find '? '(4 6) '(1 2 3 4 5 6)) 0: (APPEND-FIND ? (4 6) (1 2 3 4 5 6)) 1: (APPEND-FIND ? (4 6) (2 3 4 5 6)) 2: (APPEND-FIND ? (4 6) (3 4 5 6)) 3: (APPEND-FIND ? (4 6) (4 5 6)) 4: (APPEND-FIND ? (4 6) (5 6)) 5: (APPEND-FIND ? (4 6) (6)) 6: (APPEND-FIND ? (4 6) NIL) 6: APPEND-FIND returned (THE LISTS INTRODUCED ARE INCOMPATIBLE) 5: APPEND-FIND returned (6 THE LISTS INTRODUCED ARE INCOMPATIBLE) 4: APPEND-FIND returned (5 6 THE LISTS INTRODUCED ARE INCOMPATIBLE) 3: APPEND-FIND returned (4 5 6 THE LISTS INTRODUCED ARE INCOMPATIBLE) 2: APPEND-FIND returned (3 4 5 6 THE LISTS INTRODUCED ARE INCOMPATIBLE) 1: APPEND-FIND returned (2 3 4 5 6 THE LISTS INTRODUCED ARE INCOMPATIBLE) 0: APPEND-FIND returned (1 2 3 4 5 6 THE LISTS INTRODUCED ARE INCOMPATIBLE)
Raw
Repaste
Edit