sicp-solutions/ex-2.33.scm
Petar Kapriš 2ca5e73a27 Add solutions to exercises from subsection 2.2.3
Notes:
The exercise 2.37 on Hexlet's site has an error, noted in the comments.
Also, their page for exercise 2.38 should probably have 0 tests.

And finally, I did not calculate the exact number in the final exercise
2.43, but I included a relevant discussion.
2025-02-12 16:16:13 +01:00

21 lines
446 B
Scheme

#lang sicp
(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 (inc x y) (+ y 1))
(define (length sequence)
(accumulate inc 0 sequence))