tag:blogger.com,1999:blog-5722310642266356003.post3511764105915074851..comments2024-01-07T23:21:32.676+01:00Comments on The Axis of Eval: What is Lisp syntax, really, and the use-mention distinctionUnknownnoreply@blogger.comBlogger3125tag:blogger.com,1999:blog-5722310642266356003.post-52420566278874535212012-04-16T11:35:00.540+02:002012-04-16T11:35:00.540+02:00Can Lisp-ness not be seen as having a simple sharp...Can Lisp-ness not be seen as having a simple sharp technical definition? It is in the interpreter, the Lisp reader. The reader handles only one kind of thing: forms, and the only difference in interpretation (semantics) is all concentrated in the first item of a form. ( '(0 1 2) is really just shorthand for (quote 0 1 2) -- everything can be done with ordinary forms, right? -- that is the spirit of it.)<br /><br />But the Lisp-reader only sees a string of bytes, it does not know anything about how they are presented -- it does not know that parens are curved or spaces are gaps or lines of chars are wrapped into a column.<br /><br />Rendering that string of bytes that is a form as shaded boxes is effectively just a kind of syntax highlighting.<br /><br />And furthermore, that would seem the right direction to go. Lisp normally somewhat offends the basic aim of software engineering: clarity. The most basic general requirement of our tools is that they go where we point them and show us where they are pointing. But by making (if...) look so like (quote...) Lisp is fulfilling that requirement rather weakly: it seems reasonable to say that such different forms should *look*, perceptually, significantly different too.<br /><br />It looks like there are three main layers: syntax (the underlying structure of the machinery), lexical form (the char-based structure), and presentation (how it is rendered in the UI) . . .Harrison Ainsworthhttp://www.hxa.name/noreply@blogger.comtag:blogger.com,1999:blog-5722310642266356003.post-40738644606694475632012-04-16T02:04:46.457+02:002012-04-16T02:04:46.457+02:00I don't care whether lists are the data struct...I don't care whether lists are the data structure used for the representation. I do care that what is used is a profoundly simple and uniform data structure with full set of accessors; and while we're at it, I like that in Kernel the profound simplicity of the data structure dovetails neatly into the primitive unification device of the binding mechanism, so that the full set of accessors just seems to arise spontaneously.<br /><br />It seems that cons cells are the most profoundly simple data structure that could be used for the purpose. Their extreme simplicity seems to empower the unification/binding/accessors stuff. When considering alternatives, one does hope to fully grok the advantages of what one is looking for an alternative to.John Shutthttps://www.blogger.com/profile/00041398073010099077noreply@blogger.comtag:blogger.com,1999:blog-5722310642266356003.post-12143678686721303592012-04-15T22:28:57.524+02:002012-04-15T22:28:57.524+02:00This sounds reasonable. Lisp's obsession with ...This sounds reasonable. Lisp's obsession with representing everything as lists has never made much sense to me, whereas the idea of being able to reify an arbitrary meta-value into a value of the corresponding object-level datatype makes a lot of sense. Your point seems to be that there is no reason for that datatype to be "List". Sure, you can encode environments as lists, but why would you?Roly Pererahttps://www.blogger.com/profile/10168144731270158487noreply@blogger.com