(このエントリは、Clojure Advent Calendar 2014 21日目、および Clojure Contrib Library Advent Calendar 2013 24日目の記事です。) 今回はClojureのcontribライブラリであるtools.analyzerとtools.emitterを使ってカスタマイズしたClojure処理系を作ってみます。 tools.analyzer/tools.emitterとは tools.analyzerとtools.emitterはClojureのセルフホスティングコンパイラ、つまりClojureで書かれたClojureコンパイラを構成するライブラリ群です。以前からCinC(Clojure in Clojure)という名前だけがあったプロジェクトが、ようやく具体的にcontribライブラリという形で開発が進められているという状況