Definition of "metaprogramming"