(defun parition (pred list) (let ((yes-list nil) (no-list nil)) (dolist (item list) (if (funcall pred item) (push item yes-list) (push item no-list))) (values (nreverse yes-list) (nreverse no-list))))