How Io language is Homoiconic?
It's being mentioned that Io language is homoiconic.
To me homoiconic means "Expressing the language in the data-structure of the same langage" . For exp, LISP, is all LISP list.
I'm trying to understand Io is homoiconic?
Though I can see that the Io programs are objects and message, a given statement is not a data-structure of the language per se.
For example, can someone explain how this statement is homoiconic,
``` Number / := method (i, if (i != 0, self origDiv(i), 0) )
``` If this is Steve Dekorte's Io, then the Io page that was at http://www.iolanguage.com/ stated in 2004 that it was like LISP in that "code is a runtime inspectable/modifiable tree". This is not homoiconic in terms of syntax of rather in terms of data model. Io is so in perhaps the same way as Pico http://pico.vub.ac.be/ is because Pico expresses the code as data type though of specific types which are not normally used for user program data.