From f3a941bb63275b0efbaa88c65e7ba762d8b05237 Mon Sep 17 00:00:00 2001 From: Akshay Date: Tue, 18 May 2021 11:09:46 +0530 Subject: fix `set!` routine and discover a drawback of borrowck! --- src/lisp/test.lisp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/lisp/test.lisp') diff --git a/src/lisp/test.lisp b/src/lisp/test.lisp index a167f28..5eb1aaa 100644 --- a/src/lisp/test.lisp +++ b/src/lisp/test.lisp @@ -17,3 +17,17 @@ (assert-eq ((lambda (x) x) 2) 2) + +(define x 2) +(define y 5) +(set! x 3) +(assert-eq x 3) + +(define (square-x x) + (let [(y x)] + (begin + (set! y (* x x)) + y))) + +(assert-eq (square-x 2) 4) +(assert-eq y 5) -- cgit v1.2.3