Код Ревью

Сравни свои решения

    #| BEGIN (Write your solution here) |#
(define (same-parity x . xs)
  (filter (if (even? x) even? odd?) (cons x xs)))

(define (even? x)
  (= (remainder x 2) 0))

(define (odd? x)
  (= (remainder x 2) 1))

(define (filter pred lst)
  (define (iter lst res)
    (cond ((null? lst) (reverse res))
          ((pred (car lst)) (iter (cdr lst) (cons (car lst) res)))
          (else (iter (cdr lst) res))))
  (iter lst nil))

(define (reverse list)
  (define (iter lst acc)
    (if (null? lst)
        acc
        (iter (cdr lst) (cons (car lst) acc))))
  (iter list nil))

(define nil '())
#| END |#