Instead, the homoiconic paradigm draws from the mathematics of computability theory. […] In the case of a homoiconic programming language, the program processes itself, performing mechanical reductions on the application until there is nothing left except the answer.
Source: wiktionary