How Io language is Homoiconic?

1 points by kannangce ↗ HN
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) )

```

1 comment

[ 2.7 ms ] story [ 10.4 ms ] thread
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.