3 ms·
Homoiconicity doesn't mean everything has to _look_ the same. If the term has any meaning, it's about how program source code can be represented and manipulate
by eru 2mo ago
Homoiconicity doesn't mean everything has to _look_ the same.
If the term has any meaning, it's about how program source code can be represented and manipulated easily by the user. (And I say 'can' deliberately, because even Lisps still allow you to treat source code as a big flat string, if you want to.)
I don't think homoiconicity is all that much of a useful concept. It's very hard to pin down. Eg C can represent its own source code, too, if a bit clunkily. And Lisps generally don't execute by walking over s-expressions: their internal representation of their own logic typically uses more sophisticated structures (and adding native code compilers to the mix complicates matters further).