Am Do., 27. Aug. 2020 um 04:14 Uhr schrieb Alex Shinn <xxxxxx@gmail.com>:The current state is that, per R7RS, any cyclic literals must be directly quoted,which means match-letrec can support them. The idea of cycles in indirectlyquoted data, via other macros, is disallowed by the standard, with quasiquotegiven as a specific example. So I guess we can leave the cycles as is.(let-syntax((q(syntax-rules ()((_ x) (quote x)))))(q #0=(#0#)))is allowed by my reading of R7RS and is logically sound. Circular references are allowed only in literals but whether a certain datum in the input is a literal can only be detected after macro expansion. The example of quasiquote doesn't apply because quasiquote does not need to expand into quote.