I herewith declare the homoiconic language definition discussion to be hopelessly stuck.
- It was hopelessly stuck right from when it first started, last year, however note that the stuck part is merely from people who want to make the definition more formal and bullet-proof than it has ever been before in history. It is not stuck otherwise.
May I ask what use this definition has? Yes, homoiconicity has an interesting appeal, but the ongoing discussion seems to show, that the definition is not quite as clear as it could be - and even if it in fact is clean, it doesn't seem to be easily applied/understood.
- It is a technical term that has been in use for some decades, see references on these pages. What use is any definition? The term was not invented on/for this wiki!
Can sombody please elaborate, what use this property has, or what interesting consequences follow from it. Because if that cannot be done, its like pseudo science (or worse, SmugLispWeenies
trying to capture the special appeal of their language into a nice definition nobody can match).
- That's just unfair. SmugLispWeenies agree that, for instance, TCL is a homoiconic language. That doesn't mean it's pseudo science to strongly and emphatically deny that Java is homoiconic.
Ok. Sorry for the unfairness ('pseudo science'). And I agree, that JavaLanguage
is surely not homoiconic. I wanted to point out, that the term (even if used quite some time) seems to be not very useful. Could you Doug answer my request for its use? -- .gz
ZarnckesLaw?: Discussions about homoiconicity are doomed to become hopelessly stuck. Not as good as Godwin's, but not too shabby either. :)
Tadaa, I got my own law! :-) But serious: What academic or other value does this homoiconicity (interesting, but horrible to spell) have? If this question is answered, maybe the LaynesLaw
problems disappear. -- .gz
I'm not sure. I sympathise with your comments above. It sure seems as if any homoiconicity other than in Lisp, isn't
true homoiconicity (NoTrueScotsman). That's partly why I wrote MyNaiveAttemptAtUnderstandingHomoiconicity. --ATS
- As above: SmugLispWeenies agree that, for instance, TCL is homoiconic (and at top of page, AlanKay said TRAC was homoiconic), so your critique is way off the mark. -- Doug
is off the mark, but it was the (probably unjustified) feeling I got from reading about it.
Can it be, that there really is no clear or common understanding of what homoiconicity is?
I thought, that the DefinitionOfHomoiconic
was fairly precise. But with all these other definitions and questions springing up and being fought upon, I wonder if it really does any good.
But maybe its just, that the opponents of homoiconicity begrundge the simplicity of Lisp and this is just a LanguagePissingMatch
in disguise (being carried out in an abstract way). -- .gz
In some cases it certainly feels that way, in other cases it seems to be simply misunderstandings, in still others, a distaste for what is perceived as the fuzziness of the definition. It can be hard to tell the cases apart sometimes. The times when it appears to be a LanguagePissingMatch
are the more frustrating, of course.
There appears to be just one person who is both familiar with Lisp, and also opposed to the traditional definition, for whatever that's worth. Most of the rest of the strong opposition, misunderstandings, or desire for tighter definitions comes, understandably, from those who are not particularly conversant with Lisp nor TCL.
For the record, I don't think SmugLispWeenies
would really accept me
in their ranks; I'm a language designer and implementor, is all, and have contributed to many of the computer language pages here. I have a love/hate relationship with essentially all languages; they all have their points, and they all have their drawbacks, from my point of view. -- Doug
I'm not a LISP expert, but I have used LISP and TCL (and lots and lots of other languages).
And I think that Java falls within AlanKay
's description of homoiconic.
Just barely. And not nearly as richly as LISP or TCL.
(With a strict definition of the word "is". ;-)
Interesting. Ok, so why do you personally think so? -- Doug
Uh-oh, I can hear a CategoryHomoiconic? closing in rapidly...
I must be famous for my categories;-) But no, I just reorganized and expect
the participants to remove some of these discussion pages once they are resolved.
This factoid just in: homoiconic.net .org .com .anything-for-that-matter seems to be still available.
(Creepy; I was just thinking about creating the CategoryHomoiconic? page, and putting the http:wiki?search=Homoiconic link on it. ;-)
Perhaps we can attempt refactoring this homoiconic cluster? I'd say we keep the DefinitionOfHomoiconic
(we can recognize there that we have both the original definition and a more strict (AbstractSyntaxTree
) definition), move the HomoiconictyClassification?
(it really sounds like a list anyway), keep but clean up the HomoiconicFaq
, and perhaps keep the HomoiconicDiscussion?
(call it HomoiconicityDiscussion?
if needed), where we keep all the 'junk'. Or is it still too early?--ATS
- Don't overlook the quotations from the literature at the top of NewAttemptedHomoiconicDefinition when/if you refactor; citations help provide perspective on e.g. which definitions are traditional and which are non-traditional. -- Doug
Good plan. But we should wait one more day I guess. My previous refactorings were made more or less useless by just adding more comments on more places. -- .gz