(defun sift (predicate list)
"Returns two values from the LIST: A list of values that satisfy the PREDICATE,
and a list of those that don't."
(loop for item in list
if (funcall predicate item) collect item into gold
else collect item into dirt
finally (return (values gold dirt))))
Provides: sift
Requires: Nothing
Author: Jeremy Phelps
License: Public Domain
Provides: sift Requires: Nothing Author: Jeremy Phelps License: Public Domain