diff --git a/TODO b/TODO index 0247dc36..7d0c7c7a 100644 --- a/TODO +++ b/TODO @@ -5,6 +5,7 @@ ** bugs *** v c0.mes *** v closure.mes +*** c1.mes *** v using (let () ...) in macro.mes/syntax.mes *** syntax.mes: closuring name? etc in syntax.mes *** syntax.mes: closuring: indicators: eval: no such symbol: --- diff --git a/c0.mes b/c0.mes index 29df12fa..437bf7ca 100644 --- a/c0.mes +++ b/c0.mes @@ -8,11 +8,11 @@ ;; 1 (define b 0) -;;(define x (lambda () b)) +(define x (lambda () b)) (define (x) b) -;;(display (x)) -;;(newline) +(display (x)) +(newline) (define (c b) (display (x)) (newline) diff --git a/c1.mes b/c1.mes new file mode 100644 index 00000000..bd5b9ba7 --- /dev/null +++ b/c1.mes @@ -0,0 +1,16 @@ + +;; guile: 00 +;; mes: 01 + +(define (x) + (define b 1) + (define (y) b) + (set! b 0) + (display b) + (let ((b 2)) + (y)) + ) + +(display (x)) +(newline) +""