1 day ago
my attempt to do the exercises in sicp.
Monday, August 17, 2009
sicp exercise 3.1
;; Exercise 3.1. An accumulator is a procedure that is called repeatedly with a single numeric argument and accumulates its arguments into a sum. Each time it is called, it returns the currently accumulated sum. Write a procedure make-accumulator that generates accumulators, each maintaining an independent sum. The input to make-accumulator should specify the initial value of the sum; for example
;; (define A (make-accumulator 5))
;; (A 10)
;; 15
;; (A 10)
;; 25
(define (make-accumulator sum)
(lambda(arg)
(begin
(set! sum (+ sum arg))
sum)))
(define A (make-accumulator 5))
(display (A 10)) (newline)
(display (A 10)) (newline)
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment