Code Review

Compare your solutions

    #| BEGIN (Введите свое решение) |#
(define (inc x) (+ x 1))

(define (accumulate op initial sequence) 
  (if (null? sequence) initial
      (op (car sequence)
          (accumulate op initial (cdr sequence)))))

(define (map p sequence)
  (accumulate (lambda (x y) (cons (p x) y)) nil sequence))

(define (append seq1 seq2)
  (accumulate cons seq2 seq1))

(define (length sequence)
  (accumulate (lambda (x y) (inc y)) 0 sequence))
#| END |#