;;; 1 (defun packages-for-which-cl-is-first-on-used-list () (let ((cl-pkg (find-package :cl))) (dolist (element (list-all-packages)) (when (eql cl-pkg (first (package-use-list element))) (print (package-name element)))))) (defun packages-for-which-cl-is-on-used-list () (let ((cl-pkg (find-package :cl))) (dolist (element (list-all-packages)) (dolist (new-elt (package-use-list element)) (when (eql cl-pkg new-elt) (print (package-name element)) (return)))))) ;;; 2 (defun find-element-and-return-list (an-item somelist) (if somelist (if (eql an-item (first somelist)) somelist (find-element-and-return-list an-item (rest somelist))))) ;;; 3 (defun find-a-keyword (some-keyword some-list) (if some-list (do ((i 0 (+ 2 i)) (length-of-some-list (length some-list))) ( (>= i length-of-some-list) nil) (if (eq some-keyword (nth i some-list)) (return (nth (+ i 1) some-list)))))) ;;; 4 (defun find-first-element (object list-of-lists) (dolist (element list-of-lists ) (if (eql object (first element)) (return element))))