Hi -- On Mon, 9 Jan 2006, Gregory Brown wrote: > How does this sound for a definition: > > "When code is designed to dynamically write or modify it's own code or s/'// :-) > other code, this is considered to be Meta-programming. This often > makes heavy use of reflection and introspection, two key tools for > dynamic manipulation of code." I'm not sure I'd say that reflection and introspection (and by the way, is there an established difference between those two terms?) are "manipulation" techniques. In fact, they're sort of non-manipulation techniques; they give you information about what's going on, without actually changing anything. (I'm still chickening out of trying to define metaprogramming myself :-) David -- David A. Black dblack / wobblini.net "Ruby for Rails", from Manning Publications, coming April 2006! http://www.manning.com/books/black