@inbook {DBLP:conf/dagstuhl/CzarneckiOST03,
	title = {DSL Implementation in MetaOCaml, Template Haskell, and C++},
	booktitle = {Domain-Specific Program Generation, International Seminar, Dagstuhl Castle, Germany, March 23-28, 2003, Revised Papers},
	series = {Lecture Notes in Computer Science},
	volume = {3016},
	year = {2003},
	pages = {51-72},
	publisher = {Springer-Verlag},
	organization = {Springer-Verlag},
	address = {Berlin, Heidelberg},
	abstract = {A  wide  range  of domain-specific languages (DSLs) has been implemented
successfully  by  embedding  them  in  general purpose lan- guages. This
paper  reviews  embedding, and summarizes how two alternative techniques
{\textendash}  staged  interpreters  and  templates  {\textendash}  can  be used to overcome the
limitations  of  embedding. Both techniques involve a form of generative
programming.   The  paper  reviews  and  compares  three  pro-  gramming
languages  that  have special support for generative programming. Two of
these   languages   (MetaOCaml   and   Template  Haskell)  are  research
languages,  while  the  third  (C++)  is already in wide industrial use.
The  paper  identifies  several dimensions that can serve as a basis for
comparing generative languages.},
	doi = {10.1007/b98156},
	url = {http://www.springerlink.com/content/nl620el7n94m161h/fulltext.pdf},
	author = {Krzysztof Czarnecki and O{\textquoteright}Donnell, John, T. and Striegnitz, J{\"o}rg and Taha, Walid}
}