back

by Rochus·1mo ago·view on hn ↗
Lisp made the compiler’s internal tree representation directly writable by programmers. That is powerful, but it is not the same as giving programmers the best notation for expressing and maintaining large systems.

The tiny self-interpreter is a fine pedagogical artifact, but calling it software’s Maxwell equations oversells it. S-expressions are a convenient printable AST: lists whose meaning is supplied largely by the head symbol and argument positions. Excellent for macros and language experimentation; not necessarily a good human-level notation for large programs. A decent surface syntax provides useful "molecular" structure rather than exposing the "atoms".