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 312: unquoting and identifiers beginning with @

2012-10-07 12:23:43
WG1 - Core
cowan
major
alexshinn
fixed
source
closed
2011-12-14 09:24:12
defect

Now that @ may begin an identifier, we should probably make some comment about unquoting, i.e. to distinguish whether ,@foo is (unquote @foo) or (unquote-splicing foo).

Since these identifiers did not exist before, I recommend the latter (that is, use unquote-splicing if ,@ is seen), and we should add a note that if you want to unquote an identifier beginning with add you need to either insert whitespace or escape the identifier, e.g. , @foo or ,|@foo|.

The good news now is that SXML is no longer invalid syntax.

None of my suite of Schemes supports , @foo as equivalent to ,@foo, so I think that option is out. Users will need to write ,|@foo|, which works on all Schemes that support pipes (some do not, some treat | as an ordinary identifier character).

The above states that maybe we treat ', @foo' as an unquoted identifier @foo, and Chez Scheme does this. Is Chez Scheme not in your test suite, or were you testing something else?

No, my test case was incorrectly stated. I retract my comment: , @foo works fine to unquote the variable @foo.

statusnewdecided

The WG voted to treat ,@foo as (unquote-splicing foo), requiring , @foo for (unquote @foo).

owneralexshinncowan
statusdecidedwriting
resolutionfixed
statuswritingclosed