2.2|

$ cd ~

SICP Exercise 2.20

(define (same-parity first . rest)
  (define (same-parity-as-first? n)
    (or (and (even? first) (even? n))
        (and (not (even? first)) (not (even? n)))))
  (define (build-list rest)
    (cond ((null? rest)
           nil)
          ((same-parity-as-first? (car rest))
           (cons (car rest) (build-list (cdr rest))))
          (else (build-list (cdr rest)))))
  (cons first (build-list rest)))