(in-package :cs325-user) (defparameter *frames* '((canary (bird)) (animal nil (can-fly no) (has-owner no)) (pet (animal) (has-owner yes)) (bird (animal) (can-fly yes)) (penguin (bird) (can-fly no)) (tweety (pet canary)) (chilly (penguin)) )) (defun foo (x) (let ((y (assoc x *frames*))) (append (mapcar (lambda (z) (list x 'isa z)) (cadr y)) (mapcar (lambda (z) (cons x z)) (cddr y)))))