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.

Source for ticket #312

cc


    

changetime

2012-10-07 12:23:43

component

WG1 - Core

description

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.

id

312

keywords


    

milestone


    

owner

cowan

priority

major

reporter

alexshinn

resolution

fixed

severity


    

status

closed

summary

unquoting and identifiers beginning with @

time

2011-12-14 09:24:12

type

defect

Changes

Change at time 2012-10-07 12:23:43

author

cowan

field

comment

newvalue


    

oldvalue

6

raw-time

1349587423073015

ticket

312

time

2012-10-07 12:23:43

Change at time 2012-10-07 12:23:43

author

cowan

field

resolution

newvalue

fixed

oldvalue


    

raw-time

1349587423073015

ticket

312

time

2012-10-07 12:23:43

Change at time 2012-10-07 12:23:43

author

cowan

field

status

newvalue

closed

oldvalue

writing

raw-time

1349587423073015

ticket

312

time

2012-10-07 12:23:43

Change at time 2012-04-09 02:06:44

author

cowan

field

comment

newvalue


    

oldvalue

5

raw-time

1333912004494524

ticket

312

time

2012-04-09 02:06:44

Change at time 2012-04-09 02:06:44

author

cowan

field

owner

newvalue

cowan

oldvalue

alexshinn

raw-time

1333912004494524

ticket

312

time

2012-04-09 02:06:44

Change at time 2012-04-09 02:06:44

author

cowan

field

status

newvalue

writing

oldvalue

decided

raw-time

1333912004494524

ticket

312

time

2012-04-09 02:06:44

Change at time 2012-04-05 09:23:43

author

cowan

field

comment

newvalue

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

oldvalue

4

raw-time

1333592623897973

ticket

312

time

2012-04-05 09:23:43

Change at time 2012-04-05 09:23:43

author

cowan

field

status

newvalue

decided

oldvalue

new

raw-time

1333592623897973

ticket

312

time

2012-04-05 09:23:43

Change at time 2011-12-14 13:40:56

author

cowan

field

comment

newvalue

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

oldvalue

3

raw-time

1323841256507414

ticket

312

time

2011-12-14 13:40:56

Change at time 2011-12-14 13:30:28

author

arcfide

field

comment

newvalue

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?

oldvalue

2

raw-time

1323840628044648

ticket

312

time

2011-12-14 13:30:28

Change at time 2011-12-14 13:24:55

author

cowan

field

comment

newvalue

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).

oldvalue

1

raw-time

1323840295416859

ticket

312

time

2011-12-14 13:24:55