(defun take-while (list pred) (if (null list) () (let ((x (car list))) (if (pred x) (cons x (take-while (cdr list) pred)) ()))))