I was trying to understand the Wikipedia article on homoiconity, but it\'s too verbose and does not explain the main theory behind the word concisely. I should add that I\'m
Homoiconicy can mean different things to different people. Originally, it was defined in the context of the language TRAC, as such:
Because TRAC procedures and text have the same representation inside and outside the processor, the term homo-iconic is applicable, from homo meaning the same, and icon meaning representation.
However, that definition is problematic, because it is hard to precisely pin down what is meant by internal and external representations. It is also not at all what most people mean by it today.
Today, most people probably mean something along the lines of the accepted answer by Mike Yang here, namely that the represenation of structured data in the language is elegant (literal syntax), and that such datastructures are themselves the main means of representating code.
To confuse matters further, this concept is often called "code as data" (which is itself a very overloaded term).
More info here: