News for hackers. Stuff that matters.

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) )

```

( 1 comment | on HN )
Re:How Io language is Homoiconic? by compressedgas on Sunday February 19, 2023 @06:45AM (#34856770)
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.