Correct error in mutator quote
This commit is contained in:
parent
05832af083
commit
ac4fb05f0c
|
@ -229,13 +229,13 @@
|
||||||
(define-syntax mutator-quote
|
(define-syntax mutator-quote
|
||||||
(syntax-rules ()
|
(syntax-rules ()
|
||||||
[(_ (a . d))
|
[(_ (a . d))
|
||||||
(mutator-anf-app collector:cons (mutator-quote a) (mutator-quote d))]
|
(mutator-app collector:cons (mutator-quote a) (mutator-quote d))]
|
||||||
[(_ s)
|
[(_ s)
|
||||||
(mutator-anf-app collector:alloc-flat 's)]))
|
(mutator-app collector:alloc-flat 's)]))
|
||||||
(define-syntax (mutator-datum stx)
|
(define-syntax (mutator-datum stx)
|
||||||
(syntax-case stx ()
|
(syntax-case stx ()
|
||||||
[(_ . e)
|
[(_ . e)
|
||||||
(quasisyntax/loc stx (mutator-anf-app collector:alloc-flat (#%datum . e)))]))
|
(quasisyntax/loc stx (mutator-app collector:alloc-flat (#%datum . e)))]))
|
||||||
|
|
||||||
(define-syntax (mutator-top-interaction stx)
|
(define-syntax (mutator-top-interaction stx)
|
||||||
(syntax-case stx (require provide mutator-define mutator-define-values test/value=? import-primitives)
|
(syntax-case stx (require provide mutator-define mutator-define-values test/value=? import-primitives)
|
||||||
|
|
29
collects/tests/plai/gc/other-mutators/quote.rkt
Normal file
29
collects/tests/plai/gc/other-mutators/quote.rkt
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
#lang plai/mutator
|
||||||
|
(allocator-setup "../good-collectors/good-collector.rkt" 28)
|
||||||
|
|
||||||
|
1 2
|
||||||
|
(define x
|
||||||
|
(cons 'apple-pie ; 2 + 3
|
||||||
|
(cons 'pumpkin-pie ; 2 + 3
|
||||||
|
empty))) ; 2
|
||||||
|
; Need 12 cells
|
||||||
|
1 2
|
||||||
|
(define y
|
||||||
|
'(apple-pie pumpkin-pie))
|
||||||
|
; Need 24 cells
|
||||||
|
|
||||||
|
(define (equal? l r)
|
||||||
|
(cond
|
||||||
|
[(and (empty? l) (empty? r))
|
||||||
|
#t]
|
||||||
|
[(and (cons? l) (cons? r))
|
||||||
|
(and (equal? (first l) (first r))
|
||||||
|
(equal? (rest l) (rest r)))]
|
||||||
|
[(and (symbol? l) (symbol? r))
|
||||||
|
(symbol=? l r)]
|
||||||
|
[else
|
||||||
|
#f]))
|
||||||
|
; Need 2 more for the proc
|
||||||
|
|
||||||
|
; Need 2 more for the ans
|
||||||
|
(equal? x y)
|
|
@ -52,4 +52,7 @@
|
||||||
(bad (heap-loc head) 62 47 "at line 19")
|
(bad (heap-loc head) 62 47 "at line 19")
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
|
(test-mutator (build-path here "other-mutators" "quote.rkt"))
|
||||||
|
=error> "alloc: out of space"
|
||||||
)
|
)
|
Loading…
Reference in New Issue
Block a user