Meta programming is the capability of a programming language to generate code at compile time. Examples of systems enabling meta programming are: