29 lines
423 B
Scheme
29 lines
423 B
Scheme
; https://github.com/munificent/craftinginterpreters/blob/master/test/closure/assign_to_closure.lox
|
|
|
|
(define f #f)
|
|
(define g #f)
|
|
|
|
(define (displayln x)
|
|
(display x)
|
|
(newline))
|
|
|
|
((lambda ()
|
|
(define local 1)
|
|
|
|
(define (f_)
|
|
(displayln local)
|
|
(set! local 2)
|
|
(displayln local))
|
|
|
|
(set! f f_)
|
|
|
|
(define (g_)
|
|
(displayln local)
|
|
(set! local 3)
|
|
(displayln local))
|
|
|
|
(set! g g_)))
|
|
|
|
(f)
|
|
(g)
|