Closed justinethier closed 3 years ago
For example the following prints #(a b) instead of `#("string 1" "string 2"):
#(a b)
(import (scheme base) (scheme write)) (define a "string 1") (define b "string 2") (define vec #(1 2)) (write #(a b)) (newline)
Even more concerning:
(import (scheme base) (scheme write)) (define a "string 1") (define b "string 2") (define vec #(1 2)) (write vec) (newline)
This program throws a runtime error:
#(Cyc_display: bad tag x=30
The first case is handled how we would expect in R7RS, it defines a literal.
The second case has now been fixed, there was an issue with how top-level vector literals were being compiled.
For example the following prints
#(a b)
instead of `#("string 1" "string 2"):Even more concerning:
This program throws a runtime error:
#(Cyc_display: bad tag x=30