;; generalized filter SICP 2.2.3 ;; (filter 'odd '(1 2 3 4 5)) => (1 3 5) (define (filter predicate sequence) (cond ((null sequence) nil) ((predicate (first sequence)) (cons (first sequence) (filter predicate (rest sequence)))) (t (filter predicate (rest sequence)))))