On 1/8/06, James Britt <james_b / neurogami.com> wrote:

> Is memoization metaprogramming, or is it only metaprogramming when
> behavior is altered?

I'm a lot more liberal (and maybe naive) in my definition of metaprogramming.
I think that creating dynamic behavior at runtime is indeed
metaprogramming, even if it hasn't altered the underlying behavior of
the class itself.

Whenever I sere something to the effect of <finish me later> in the
code, I'm thinking that I'm writing a method that is using some sort
of meta programming.

If i'm not accessing methods or fields I defined before the program
began, and I'm getting some sort of behavior that the program
assembled at runtime, I consider that meta programming, regardless of
changes or lack thereof to underlying state / behavior.

What do others think about this?