一昨日のエントリー(d:id:earth2001y:20060929:p2)でC++のテンプレートがチューリング完全性を備えているということを、見つけた論文から言及した。で、C++テンプレートだけでBrainfuckインタプリタを書こうとして一旦挫折したが、テンプレートの記述が宣言的、関数的な点を考えて、純Lispを書いてみることにした。 純Lispについては、 はてなキーワードの純Lisp 純Lisp - Wikipedia あたりを、ご参考あれ。ようは、McCarthyがLispを発明したときのオリジナルで、最小のLisp関数セット。 PL.CT - Pure Lisp on C++ Template とりあえず、テンプレートの実装。 // cat purelisp.h class NIL { public: typedef NIL eval; }; class T { public: