2021-12-29 02:09:51 +00:00
|
|
|
; https://github.com/munificent/craftinginterpreters/blob/master/test/closure/assign_to_closure.lox
|
|
|
|
|
|
|
|
(define f #f)
|
|
|
|
(define g #f)
|
|
|
|
|
2021-12-29 02:32:43 +00:00
|
|
|
(define (displayln x)
|
|
|
|
(display x)
|
|
|
|
(newline))
|
2021-12-29 02:09:51 +00:00
|
|
|
|
|
|
|
((lambda ()
|
2021-12-29 02:32:43 +00:00
|
|
|
(define local 1)
|
2021-12-29 02:09:51 +00:00
|
|
|
|
2021-12-29 02:32:43 +00:00
|
|
|
(define (f_)
|
|
|
|
(displayln local)
|
|
|
|
(set! local 2)
|
|
|
|
(displayln local))
|
2021-12-29 02:09:51 +00:00
|
|
|
|
2021-12-29 02:32:43 +00:00
|
|
|
(set! f f_)
|
2021-12-29 02:09:51 +00:00
|
|
|
|
2021-12-29 02:32:43 +00:00
|
|
|
(define (g_)
|
|
|
|
(displayln local)
|
|
|
|
(set! local 3)
|
|
|
|
(displayln local))
|
|
|
|
|
|
|
|
(set! g g_)))
|
2021-12-29 02:09:51 +00:00
|
|
|
|
|
|
|
(f)
|
2021-12-29 02:32:43 +00:00
|
|
|
(g)
|