google先生にお伺いをたてる。

メタプログラミング

他のプログラムを生成あるいは操作するプログラムを書くことができる機能のこと。
Mathematicaの解説があった。

言語としては以下のような言語が採用している模様。

C++のテンプレート(boost),Mathematica,prolog,LISP,pythonとある。
Templete Haskell, GOcaml, MetaOcaml,D言語 Apropos,Ruby,MINAKA for JAVA,Java BCEL
論理型。メタプログラミング。TyRuBa,Smalltalk,IMB の deepblue

K.INABAさんがメタプログラミングに詳しいようだ。

学会では、

メタプログラミング(自己反映計算)を応用した拡張可能な C++ 言語のコンパイラ
筑波大学情報科学科益田研究室 千葉 滋

協調型メタプログラミング言語Frame Work

佐藤 義則 ※1 , 布川 博士 ※2 , 白鳥 則郎 ※3 , 野口 正一 ※4
※1 宮城教育大学環境教育実践研究センター
※2 岩手県立大学ソフトウェア情報学部
※3 東北大学電気通信研究所
※4 会津大学

九州工業大学 情報工学部 知能情報工学科 知能情報アーキテクチャ講座 助教授 鵜林 尚靖

稚内北星学園大学学長の丸山先生

http://www.keim.cs.gunma-u.ac.jp/~hamana/Papers/jfree.pdf

IPA未踏 言語ゲーム
http://www.languagegame.org:8080/propella/2
SmallTalk
http://www.ogis-ri.co.jp/otc/hiroba/technical/Squeak/pdf/Squeak1.pdf
Monad Note
http://hp.vector.co.jp/authors/VA028375/haskell/monad.html
http://www.shiro.dreamhost.com/scheme/docs/cont-j.html

演算子順位法

MINAKA for Java
http://www.ipa.go.jp/SPC/report/03fy-pro/mito/15-911d.pdf

KL1におけるメタプログラミング, 越村 三幸 (東芝)、 藤田 博 (三菱)
@TechReport{icot-tr-623,
author = "越村 三幸 (東芝)、 藤田 博 (三菱)",
title = "KL1におけるメタプログラミング",
institution = "ICOT",
year = 1991,
number = "ICOT Technical Report: TR-623",
note = "Institute for New Generation Computer Technology"
}

メタプログラミングによる拡張可能ドメイン専用言語


"DSL Implementation in MetaOCaml, Template Haskell, and C++"
http://www.kmonos.net/wlog/35.php
K.INABAさんが読んでいました。参考になります。
解説読んでからのほうが速いよなきっと。