3 ms·
The first Lisp syntax idea was to use s-expressions only for data and use a kind of algebraic notation for the code part. Thus programs would use s-expressions,
by lispm 6y ago
The first Lisp syntax idea was to use s-expressions only for data and use a kind of algebraic notation for the code part. Thus programs would use s-expressions, where such data would be written. But that was the syntax on paper. The actual Lisp implementation was interpreting and compiling s-expression code&data. Developers had to hand translate the original syntax into s-expressions. Lisp developers found that very useful and attempts to replace it never had much success for actual Lisp users. At the same time it was always a hurdle for new users or people who would learn Lisp in some university or school setting. In books from the 60s one can read the same complaints about parentheses, etc., like we still hear today.
Later several times there were large and small scale attempts to abandon the s-expression syntax or to develop new languages with all the advantages of Lisp, but not its syntax. The "Lisp 2" project was a huge effort into that direction and failed. Logo was another. ML similar (which was successful and spawned a bunch of new languages). Apple Dylan was another one. Plus many others. Racket now starts the next attempt to get rid of s-expressions. Scheme R6RS was early going into the direction, by offering a fixed syntax definitions for much of the language.
For Lisp the base idea is that programs are not text, but basic data made out of lists, symbols, and a bunch of other data types. The input to the EVALuator is such a data structure. Additionally there are procedures like READ and PRINT, which can translate data from and to textual representations.
So the idea is: code is data. Plus: code has mostly a direct textual representation in the form of nested s-expressions.
The Racket project is more concerned with reaching a larger audience for computer science education, and not so much about sticking to these basic Lisp principles. Their problem is that the s-expression syntax and the code is data idea is difficult for students and of little use, since most popular programming languages work differently (Python, Java, JavaScript, ...).
As a Lisp user I don't care about their educational problem and like the simple code as data idea and what follows from that.