(define filter (lambda (p l) (cond ((null? l) ()) ((p (car l)) (cons (car l) (filter p (cdr l)))) (else (filter p (cdr l))))))