Homoiconicity Classification

[Note to those arriving here via Google: most of the following represents ideas and informal discussions between various wiki users, and is not represented to necessarily be authoritative in any particulars; it may or may not be. Caveat emptor.]

[Note to those arriving here from anywhere: the caveat above should be assumed for every page in this wiki.]

[Certainly. I only added this note because the flavor of the below seemed to me to come across with a definitive kind of tone, and last year I noticed that a similar homoiconic page was very popular with google -- which I noticed only after seeing it cited elsewhere on the web, which worried me a bit. We're still arguing the topic, I don't want someone to immortalize in some textbook their mistaken understanding of our arguments! :-]
A subjective continuum from strong to weak.

Strong Weak


Perhaps the following bit taken from HomoiconicLanguages is worth factoring in:

Here is the above Lisp example, in REBOL, as a console session:

    >> b: 3
    == 3
    >> b
    == 3
    >> a: [b: 15]
    == [b: 15]
    >> a
    == [b: 15]
    >> do a
    == 15
    >> b
    == 15
    >> last a
    == 15
    >> change back tail a 37
    == []
    >> a
    == [b: 37]
    >> do a
    == 37
    >> b
    == 37

Disputed

See the note below about primary language evaluator being an implementation concept. The fact that multiple approaches (string or block, AST, bytecode) are cited makes me wonder, what is the "fundamental datatype" in Perl?

EditText of this page (last edited July 20, 2008) or FindPage with title or text search