Metaprogramma (software)

Een metaprogramma is een programma dat andere programma's genereert, inschakelt, uitschakelt of aanstuurt. De werking van een metaprogramma kan bijvoorbeeld betrekking hebben op de keuze voor een programma binnen een gegeven context, beslisstructuren voor alternatieve programma's bij een contextwijziging of calamiteit, in- of uitschakeling, beslisstructuren voor efficiënte inzet van het onderhorige programma.

De taal van het metaprogramma wordt metataal genoemd. De taal van het onderhorige programma objecttaal. Sommige computertalen hebben het vermogen om beide functies te vervullen.