diff --git a/TODO.org b/TODO.org index a6b687a6..6cc47b28 100644 --- a/TODO.org +++ b/TODO.org @@ -81,7 +81,8 @@ back after. It counts across every module a compiler process loads — each roun the program's module, and every expansion in a session. Rules out a counter per module, seeded or not. -** TODO A quasiquote inside a quasiquote is refused +** NEXT A quasiquote inside a quasiquote is refused +Decided 2026-09-25: nest the way SBCL and Clojure both do. The desugaring counts depth, an unquote belongs to the innermost quasiquote, and =~~x= reaches out two levels — SBCL's =*backquote-depth*= in =src/code/backq.lisp=. The reader stays as it is. Nothing counts nesting levels — not the reader, deliberately, and not the desugaring. Only a macro that writes a macro wants one.