document updated 14 years ago, on Jul 8, 2010
Many langauages can't do metaprogramming easily, because they're not homoiconic. HOWEVER, most languages can do DSL-based metaprogramming.
- Wikipedia
- language-oriented programming
- domain-driven software development
- more general stuff
- random conjecture by myself... metaprogramming generally (and DSL metaprogramming specifically) can be used to implement:
- books
- talks
- conferences
- criticisms
methods for implementing DSL metaprogramming
- parser + interpretter
- a parser turns flat text into a parse tree
- an interpretter moves over the parse tree, interpretting it
- parser combinator