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 #227

cc


    

changetime

2012-10-07 12:13:28

component

WG1 - Core

description

On 2 Jul 2011 on <scheme-reports>, Per Bothner [http://lists.scheme-reports.org/pipermail/scheme-reports/2011-July/001142.html wrote]:

What is the thinking as to how quasiquote interacts with
self-referential data structures?  Does anyone have an
algorithm to translate these?

Is this valid?  Should it be?

{{{
`#0=(,x #0#)
}}}

One could translate this into:

{{{
(let ((tmp (cons x #f)))
  (set-cdr! tmp tmp)
  tmp)
}}}

Still, a general algorithm doesn't look exactly trivial,
and I haven't seen a published algorithm that does this.
Bonus points for an algorithm that tries to re-use the
reader objects when possible (i.e. that avoids needless
copying).

id

227

keywords


    

milestone


    

owner

cowan

priority

minor

reporter

aag

resolution

fixed

severity


    

status

closed

summary

quasiquote and cycles

time

2011-07-06 01:14:18

type

task

Changes

Change at time 2012-10-07 12:13:28

author

cowan

field

comment

newvalue


    

oldvalue

3

raw-time

1349586808009045

ticket

227

time

2012-10-07 12:13:28

Change at time 2012-10-07 12:13:28

author

cowan

field

resolution

newvalue

fixed

oldvalue


    

raw-time

1349586808009045

ticket

227

time

2012-10-07 12:13:28

Change at time 2012-10-07 12:13:28

author

cowan

field

status

newvalue

closed

oldvalue

writing

raw-time

1349586808009045

ticket

227

time

2012-10-07 12:13:28

Change at time 2011-09-12 05:07:03

author

cowan

field

comment

newvalue


    

oldvalue

2

raw-time

1315778823000000

ticket

227

time

2011-09-12 05:07:03

Change at time 2011-09-12 05:07:03

author

cowan

field

owner

newvalue

cowan

oldvalue

alexshinn

raw-time

1315778823000000

ticket

227

time

2011-09-12 05:07:03

Change at time 2011-09-12 05:07:03

author

cowan

field

status

newvalue

writing

oldvalue

decided

raw-time

1315778823000000

ticket

227

time

2011-09-12 05:07:03

Change at time 2011-09-11 08:06:11

author

cowan

field

comment

newvalue

WG1 voted to add a note explaining that reader label cycles are not allowed within `quasiquote`.

oldvalue

1

raw-time

1315703171000000

ticket

227

time

2011-09-11 08:06:11

Change at time 2011-09-11 08:06:11

author

cowan

field

resolution

newvalue


    

oldvalue


    

raw-time

1315703171000000

ticket

227

time

2011-09-11 08:06:11

Change at time 2011-09-11 08:06:11

author

cowan

field

status

newvalue

decided

oldvalue

new

raw-time

1315703171000000

ticket

227

time

2011-09-11 08:06:11