summaryrefslogtreecommitdiff
path: root/iterative-add/iterative-add.scm
blob: 45c6cf9df475690d961d162feaa7726200090f23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
(define-module (iterative-add)
  #:export (iterative-add-generator))

(define iterative-add
  (let ((prev-num 0))
    (lambda (num)
      (let ((result
	     (+ num prev-num)))
	(set! prev-num num)
	result))))

(define (iterative-add-generator num)
  "Adds the previously received
number to the current one."
  (iterative-add num))