SICP - exercise 2.20 - same-parity
Disclaimer: my Lisp is extremely rusty.


same-parity must have at least one argument, so the proper declaration would be (same-parity arg . rest).
A more natural predicate for determining same parity of x,y is (even? (- x y))
A more natural helper is (same-parity-helper arg lst). Notice the absence of dot: it can recurse.
Putting it all together,

    (define (same-parity-helper arg lst)
        (if (null? lst) '()
            (cons
                (if (even? (- arg (car lst))
                    (car lst))
                    '())
                (same-parity-helper arg (cdr lst)))))

    (define (same-parity arg . rest)
        (same-parity-helper arg rest))