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".
raymond_goo 20 hours ago [-]
I wrote an always solvable Yukon solitaire game (no ads, no sign up).
Lisp as the Maxwell’s Equations of Software (2012) - https://news.ycombinator.com/item?id=33516422 - Nov 2022 (87 comments)
Lisp as the Maxwell’s Equations of Software (2012) - https://news.ycombinator.com/item?id=23687904 - June 2020 (46 comments)
Lisp as the Maxwell’s equations of software (2012) - https://news.ycombinator.com/item?id=9607843 - May 2015 (8 comments)
Lisp as the Maxwell Equations of Software (2012) - https://news.ycombinator.com/item?id=9038505 - Feb 2015 (122 comments)
Lisp as the Maxwell’s equations of software - https://news.ycombinator.com/item?id=3830867 - April 2012 (37 comments)
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".
https://solitairle.com
The solver is written in Lisp and then I tried one in Rust.
Great fun in both languages, but the Rust one is faster :-)