metaprogramming

programming paradigm