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

resolution␣␣

statusnewdecided

owneralexshinncowan

statusdecidedwriting

resolution␣fixed

statuswritingclosed

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