Metaprogrammeren
Uiterlijk
Meta-programmeren is het schrijven van computer programma('s) die kunnen lezen, genereren, analyseren en/of andere programma's kan transformeren. Sommige meta geprogrammeerde programma's kunnen zichzelf aanpassen terwijl deze runnen. In enkele gevallen van meta-programmeren staat het programmeurs er toe in staat dat er minder code gebruikt hoeft te worden dan normaal, en dus de tijd die nodig is om een programma te schrijven.
De taal waarin een meta-programma wordt geschreven noemen we meestal metalanguage (metataal). De taal van de programma's die gemanipuleerd worden noemen we een object language (object taal).