metaprogramming

noun
UK /ˌmetəprəʊˈɡræmɪŋ/
US /ˌmetəproʊˈɡræmɪŋ/

Metaprogramming is when a computer program writes or changes other programs by itself.

The team used metaprogramming to make the code write its own helper functions.


OTHER MEANINGS

2. Writing programs that treat other programs as data they can read and change.

In Lisp, metaprogramming lets a program build new code while it runs.

3. Using macros to generate repetitive code automatically.

C programmers use metaprogramming with macros to avoid typing the same lines.

4. A technique where a program inspects its own structure at runtime.

Ruby's metaprogramming lets objects define new methods on the fly.