> It has no syntax (of its own) in that it hijacks s-expression syntax instead. When you want to write Lisp code, you actually write some data structures in the s-expression data format, like when writing some data in JSON or XML. Then a Lisp interpreter or compiler uses an s-expression parser to read that data structure into memory, and operates on that.
My point is that the s-expression format has to be defined (obviously), e.g. you enclose lists in '(' and ')' characters, space symbols separate tokens, etc. In my world these rules are consequences of a defined syntax and saying there is no syntax is just wrong. The reader parses at some point a byte sequence and builds an AST. That Lisp/Scheme has such a simple syntax is a powerful feature of the language but saying it has no syntax just contributes to the belief of misinformed people that Lisp is some kind of strange Voodoo-language which is a bad thing as it is a powerful tool.
My point is that the s-expression format has to be defined (obviously), e.g. you enclose lists in '(' and ')' characters, space symbols separate tokens, etc. In my world these rules are consequences of a defined syntax and saying there is no syntax is just wrong. The reader parses at some point a byte sequence and builds an AST. That Lisp/Scheme has such a simple syntax is a powerful feature of the language but saying it has no syntax just contributes to the belief of misinformed people that Lisp is some kind of strange Voodoo-language which is a bad thing as it is a powerful tool.