マクロ

「Clojureシンタックスハイライター開発から考えるこれからのLispに必要なもの」を発表しました

7/27に開かれたLisp Meetup #30で「Clojureシンタックスハイライター開発から考えるこれからのLispに必要なもの」というタイトルで話してきました。 Clojureシンタックスハイライター開発から考えるこれからのLispに必要なもの from sohta 内容としては、去…

暗黙の引数 &env を使ってスコープを曲げてみる

昨日に引き続き、Clojureマクロの暗黙の引数&envについて。&envを通してマクロ呼び出しのフォームを囲む環境が手に入るわけで、これを利用しておもしろいことはできないだろうか。そう考えているうちに、スコープを曲げる - 主題のない日記で出てきた例を思…

マクロの暗黙の引数 &form と &env

Varの適用 Clojureでは、たとえば (#'list 1 2 3) が (list 1 2 3) と同じ結果を返す。Varに関数が束縛されている場合には、Varに束縛されている関数がそのまま適用されるようだ。では、Varにマクロが束縛されている場合にはどうなるだろう?マクロを展開し…