Opened 6 years ago

Closed 4 years ago

#227 closed task (fixed)

quasiquote and cycles

Reported by: aag Owned by: cowan
Priority: minor Milestone:
Component: WG1 - Core Keywords:
Cc:

Description

On 2 Jul 2011 on <scheme-reports>, Per Bothner 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).

Change History (3)

comment:1 Changed 6 years ago by cowan

  • Status changed from new to decided

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

comment:2 Changed 6 years ago by cowan

  • Owner changed from alexshinn to cowan
  • Status changed from decided to writing

comment:3 Changed 4 years ago by cowan

  • Resolution set to fixed
  • Status changed from writing to closed
Note: See TracTickets for help on using tickets.