Fix subtraction

This commit is contained in:
Enrico Lumetti 2021-04-27 16:20:38 +02:00
parent 95cec82371
commit 6e12178605
2 changed files with 10 additions and 1 deletions

View File

@ -25,6 +25,15 @@
(let ([x.1 32]) (let ([x.1 32])
(+ (let ([x.2 10]) x.2) x.1))))) (+ (let ([x.2 10]) x.2) x.1)))))
(test-eq (uniquify
`(program ()
(let ([x 32])
(- x))))
`(#hash((x . 1))
(program ()
(let ([x.1 32])
(- x.1)))))
(test-eq (uniquify (test-eq (uniquify
`(program () `(program ()

View File

@ -46,7 +46,7 @@
(begin (begin
(define-values (new-symtable res) (define-values (new-symtable res)
(for/fold ([cur-symtable symtable] (for/fold ([cur-symtable symtable]
[res (list '+)]) [res (list op)])
([exp es]) ([exp es])
(let ([uniquify-result ((uniquify-exp cur-symtable ctxtable) exp)]) (let ([uniquify-result ((uniquify-exp cur-symtable ctxtable) exp)])
(values (car uniquify-result) (append res (list (cadr uniquify-result))))))) (values (car uniquify-result) (append res (list (cadr uniquify-result)))))))