La
metaprogramación consiste en escribir
programas que escriben o manipulan otros programas (o a sí mismos) como datos, o que hacen en
tiempo de compilación parte del trabajo que, de otra forma, se haría en
tiempo de ejecución. Esto permite al programador ahorrar tiempo en la producción de código.