Hi -- On Mon, 9 Jan 2006, James Edward Gray II wrote: > On Jan 8, 2006, at 2:21 PM, Gregory Brown wrote: > >> How would you (the community) define meta-programming > > Code that writes code. Do you mean it's synonymous with code generation? I don't think I'd make that association -- not that I have a great definition for it. In fact, I tend to think of metaprogramming in Ruby as programming that someone things would seem cooler if it were called meta :-) Another way to put which is: in Ruby, I'm not sure there's really a strict line. Then there's reflection and/or introspection, which I think are part of it. If you examine what methods exist on a given object, rather than just calling them, that's reflective and also could be called metaprogramming. But, again, I don't really have a definition. Ruby lets you eat the tablecloth, so to speak. >> open class system > > Classes that can be changed (methods added, removed, etc.) at runtime. > >> and the dynamic nature of ruby? > > That's a lot harder. :) > > I like to think that Ruby does away with much of the compile time vs runtime > separation and that is a big source of it's dynamic nature. > > You will need a better definition than that though, of course... ;) "Ruby is dynamic, like human nature" -- Matz, RubyConf 2001 (or 2002; I think 2001). David -- David A. Black dblack / wobblini.net "Ruby for Rails", from Manning Publications, coming April 2006! http://www.manning.com/books/black