Corner case 地獄その1
思わず↑「その1」とか書いてしまうあたりがもうorz
Macro の template 内で束縛されて改名された識別子を一旦 vector を通して submacro に渡してみる:
(let ((x 'outside)) (let-syntax ((foo (syntax-rules () ((_) (let ((x 'inside)) (let-syntax ((bar (syntax-rules () ((_ #(arg)) arg)))) (bar #(x)))))))) (foo))) Gauche --> inside Guile --> inside Scheme48 --> error (mismatch)
これは Scheme48 の不具合…? よな?