metaprogramming
Programs manipulating programs
Metaprogramming is writing code that writes, modifies, or generates other code.
A metaprogram treats programs themselves as data to be manipulated—creating functions dynamically, modifying behavior at runtime, or automating repetitive coding patterns.
Common in languages like Lisp, Ruby, and Python: The framework uses metaprogramming to generate database queries from class definitions.
Template systems and code generators are metaprogramming tools.
Automated command sequences
- templatesPreset formats for copying
- scaffoldingTemporary exterior work platform
- preprocessingInitial data preparation steps
- hygienePractices maintaining cleanliness
compile-time · staging · quoting · unquoting
Observing one's own mind
- reificationTreating abstracts as concrete
- intercessionActing on another's behalf
- aspect-orientedProgramming separating tangled concerns
- evalExecute string as code
Execute string as code
- execCorporate officer, informally
- reflectionReturned light or thought
- hot-swappingReplacing components without downtime
- just-in-timeExactly when required
Unbranded equivalent products
- traitsDistinguishing personal features
- protocolsEstablished codes of conduct
- conceptsAbstract mental constructs
- polymorphismMany forms, one interface
macros
Automated command sequences
- templatesPreset formats for copying
- scaffoldingTemporary exterior work platform
- preprocessingInitial data preparation steps
hygiene · compile-time · staging · quoting · unquoting
introspection
Observing one's own mind
- reificationTreating abstracts as concrete
- intercessionActing on another's behalf
- aspect-orientedProgramming separating tangled concerns
eval
Execute string as code
- execCorporate officer, informally
- reflectionReturned light or thought
- hot-swappingReplacing components without downtime
generics
Unbranded equivalent products
program, programmed, meta, programmer, programming, programmers, reprogram, reprogrammed, programmable