Task

Select certain elements from an Array into a new Array in a generic way.



To demonstrate, select all even numbers from an Array.

As an option, give a second solution which filters destructively,
by modifying the original Array rather than creating a new Array.




(defun filter-evens (xs)
   (cond ((endp xs) nil)
         ((evenp (first xs))
          (cons (first xs) (filter-evens (rest xs))))
         (t (filter-evens (rest xs)))))