4 ms·
That's right. S-expressions are a syntax for data. s-expressions are not the syntax of Lisp. Lisp syntax is defined on top of s-expressions. In Common Lisp th
by lispm 12y ago
That's right.
S-expressions are a syntax for data. s-expressions are not the syntax of Lisp.
Lisp syntax is defined on top of s-expressions. In Common Lisp there are basically four forms of syntax:
* data
* function calls
* special forms, basic building blocks of the language. There are only a fixed number and actually very few of them.
* macro forms. Many provided by the language and user extensible. The user can write new macros or extend some existing macros.
The main differences between many languages and Lisp: the syntax is extensible via macros and most of the time it is relatively simple to see the implementation and the expansion of a macro.
Larger Lisp systems can contain hundreds of macros or even thousands of them...