define secret 42 define change let fn let



















- Slides: 19

(define secret 42) (define change (let ((fn (let ((secret 23)) (lambda (x) (set! secret x)))) (x 12)) (lambda (secret) (fn secret)))) (change 92)

(define secret 42) (define change (let ((fn (let ((secret 23)) (lambda (x) (set! secret x)))) (x 12)) (lambda (secret) (fn secret)))) (change 92) G

(define secret 42) (define change (let ((fn (let ((secret 23)) (lambda (x) (set! secret x)))) (x 12)) (lambda (secret) (fn secret)))) (change 92) G secret --> 42 change ==> ? ? ?

(define secret 42) (define change (let ((fn (let ((secret 23)) (lambda (x) (set! secret x)))) (x 12)) (lambda (secret) (fn secret)))) (change 92) G secret --> 42 change ==> ? ? ?

(define secret 42) (define change (let ((fn (let ((secret 23)) (lambda (x) (set! secret x)))) (x 12)) (lambda (secret) (fn secret)))) (change 92) G secret --> 42 change ==> ? ? ?

(define secret 42) (define change (let ((fn (let ((secret 23)) (lambda (x) (set! secret x)))) (x 12)) (lambda (secret) (fn secret)))) (change 92) G secret --> 42 change ==> ? ? ?

(define secret 42) (define change (let ((fn (let ((secret 23)) (lambda (x) (set! secret x)))) (x 12)) (lambda (secret) (fn secret)))) (change 92) G secret --> 42 secret --> 23 change ==> ? ? ?

(define secret 42) (define change (let ((fn (let ((secret 23)) (lambda (x) (set! secret x)))) (x 12)) (lambda (secret) (fn secret)))) (change 92) G secret --> 42 secret --> 23 change ==> ? ? ?

(define secret 42) (define change (let ((fn (let ((secret 23)) (lambda (x) (set! secret x)))) (x 12)) (lambda (secret) (fn secret)))) (change 92) G secret --> 42 secret --> 23 change ==> ? ? ?

(define secret 42) (define change (let ((fn (let ((secret 23)) (lambda (x) (set! secret x)))) (x 12)) (lambda (secret) (fn secret)))) (change 92) G secret --> 42 secret --> 23 change ==> ? ? ? fn

(define secret 42) (define change (let ((fn (let ((secret 23)) (lambda (x) (set! secret x)))) (x 12)) (lambda (secret) (fn secret)))) (change 92) G secret --> 42 secret --> 23 change ==> ? ? ? fn x --> 12

(define secret 42) (define change (let ((fn (let ((secret 23)) (lambda (x) (set! secret x)))) (x 12)) (lambda (secret) (fn secret)))) (change 92) G secret --> 42 secret --> 23 change ==> ? ? ? fn x --> 12

(define secret 42) (define change (let ((fn (let ((secret 23)) (lambda (x) (set! secret x)))) (x 12)) (lambda (secret) (fn secret)))) (change 92) G secret --> 42 secret --> 23 change fn x --> 12

(define secret 42) (define change (let ((fn (let ((secret 23)) (lambda (x) (set! secret x)))) (x 12)) (lambda (secret) (fn secret)))) (change 92) G secret --> 42 secret --> 23 change fn x --> 12

(define secret 42) (define change (let ((fn (let ((secret 23)) (lambda (x) (set! secret x)))) (x 12)) (lambda (secret) (fn secret)))) (change 92) G secret --> 42 secret --> 23 change fn x --> 12

(define secret 42) (define change (let ((fn (let ((secret 23)) (lambda (x) (set! secret x)))) (x 12)) (lambda (secret) (fn secret)))) (change 92) G secret --> 42 secret --> 23 change fn x --> 12 secret --> 92

(define secret 42) (define change (let ((fn (let ((secret 23)) (lambda (x) (set! secret x)))) (x 12)) (lambda (secret) (fn secret)))) (change 92) G secret --> 42 secret --> 23 change fn x --> 12 secret --> 92

(define secret 42) (define change (let ((fn (let ((secret 23)) (lambda (x) (set! secret x)))) (x 12)) (lambda (secret) (fn secret)))) (change 92) G secret --> 42 secret --> 23 x --> 92 change fn x --> 12 secret --> 92

(define secret 42) (define change (let ((fn (let ((secret 23)) (lambda (x) (set! secret x)))) (x 12)) (lambda (secret) (fn secret)))) (change 92) G secret --> 42 secret --> 92 x --> 92 change fn x --> 12 secret --> 92