From ... From: Erik Naggum Subject: Re: How is Lisp "better"? Date: 1998/08/17 Message-ID: <3112326691303762@naggum.no>#1/1 X-Deja-AN: 381879068 References: <359a3ce4.2803606@nntp6.mindspring.com> <6pkk46$755$1@usenet42.supernews.com> <35D2AED0.5F4@sncf.fr> <35D727D6.23B48836@club-internet.fr> mail-copies-to: never Organization: Naggum Software; +47 8800 8879; http://www.naggum.no Newsgroups: comp.lang.lisp.x,comp.lang.lisp,comp.lang.scheme * Jacques Duthen | While the distinction syntax/semantics seem (at least for me) to be quite | clear for a C program, I agree that it's not so obvious for lisp | programs. it might help to understand where the line is drawn to remember that Lisp source code is lists in memory, not character strings in files, such as C code is. the processing and interpretation of character strings into in-memory representation of the various types of objects in Lisp is performed by the READ function. since this function has completed it task before any of the (other?) language-analysis functions get to work on the code, I'd say the syntactic properties of the character string representation (which is normally what syntax is understood to be) are taken care of by READ. in non-Lisp languages, READ rarely exists, even in the compiler. C, for instance, has several _processes_ that go into the syntactical parsing, like preprocessing, and then there's the unenviable `typedef' which affects the table of keywords (another "syntax" concept Lisp does not have to deal with), and it is fairly hard to represent C code in memory at any stage of this process in such a way that it can be written out and still look like it did to begin with. I'd say that the line is very fuzzy in C, whereas at least one line can be drawn very clearly in Lisp. #:Erik -- http://www.naggum.no/spam.html is about my spam protection scheme and how to guarantee that you reach me. in brief: if you reply to a news article of mine, be sure to include an In-Reply-To or References header with the message-ID of that message in it. otherwise, you need to read that page.