This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.

Ticket 280: Make vectors self-quoting

2012-09-19 00:22:31
WG1 - Core
cowan
major
cowan
fixed
source
closed
2011-09-22 18:44:41
defect

Currently vectors are the only type represented by a readable datum that are neither self-quoting nor meaningful Scheme expressions (i.e. symbols and lists). I propose switching to making them self-quoting as well.

Currently Racket, Gauche, MIT, Guile, Kawa, Chibi, SCM, STklos, Scheme 9, Scheme 7, UMB, VX, Oaklisp treat vectors as self-quoting; Gambit, Chicken, Bigloo, Scheme48/scsh, SISC, Ikarus, Larceny, Ypsilon, IronScheme, Mosh, KSi, SigScheme, Elk treat unquoted vectors as errors.

statusnewdecided

The WG voted to adopt this proposal.

owneralexshinncowan
statusdecidedwriting
resolutionfixed
statuswritingclosed
resolutionfixed
statusclosedreopened

Felix Winkelmann points out that signaling an error, rather than is an error, allows relying on the fact that vectors must be quoted to use unquoted vectors for storing meta-information. This is currently done in the alexpander macro expander.

Thus the issue as voted on was misleading - self-quoting is not the only semantics in use. We should consider re-voting on this making it clear that the error option requires an error to be signalled.

resolutionfixed
statusreopenedclosed

For lack of a second, the reopen failed; consequently, the change to make vectors self-quoting stands.