RosettaCodeData/Task/Closures-Value-capture/Scheme/closures-value-capture-1.ss
2023-07-01 13:44:08 -04:00

11 lines
348 B
Scheme

;;; Collecting lambdas in a tail-recursive function.
(define (build-list-of-functions n i list)
(if (< i n)
(build-list-of-functions n (+ i 1) (cons (lambda () (* (- n i) (- n i))) list))
list))
(define list-of-functions (build-list-of-functions 10 1 '()))
(map (lambda (f) (f)) list-of-functions)
((list-ref list-of-functions 8))