sure, disregard that one word and suddenly it all falls apart. what is homoiconicity anyways? doesnt matter you say?
it is the feature of the code being represented the same way as the datastructures it manipulates. i know, what a completely unneccessary and unimportant point. now let's all forget this and turn our attention back to the compiler, it wants you to fix those bugs now... back to work.
Maybe? Many languages can possibly expose an AST abstraction that you can use to achieve the same results, but you will have to resort to a new syntax to make that work. Compare with https://taeric.github.io/CodeAsData.html, where you can take the normal syntax of a function, but use it to get something else.
That is to say, the "quote" form in lisp is far more than just a string template, which is what it often turns into in other languages. That, or you build up a bunch of structs that you don't normally see.
it is the feature of the code being represented the same way as the datastructures it manipulates. i know, what a completely unneccessary and unimportant point. now let's all forget this and turn our attention back to the compiler, it wants you to fix those bugs now... back to work.