>>10
それってトップレベルで
foo
ってしたらどういう意味になるの?
似たようなことは CL なら symbol-macrolet で
R6RS Scheme なら identifier-syntax でできるけど
foo の展開結果は単一の式にならないといけないから
(symbol-macrolet ((foo (+ 1 2 3)) ...) みたいなことしかできない