'S-expressions are a bad idea' by notable lisper Dave Moon:
https://cl.cddddr.org/index.cgi?Essay:S-expressions are a bad idea&l=
Argues in favour of richer data types for syntax rather than lists and symbols. It's true: propagating positions when your macro is incorrectly used is difficult!
Related Posts
Difftastic 0.27 is out! In this release:
* Added support for Kotlin and TOML
* Updated to latest tree-sitter parsers, including TS union types, C++ fold expressions and Java modules
* Improved the scaling of diff algorithm on large expressions
On writing code to communicate an idea or intent:
https://buttondown.email/hillelwayne/archive/codebases-as-communication/
I don't really understand Rust's `loop {}` syntax. It's syntactic sugar for `while true {}` but it feels odd to have special syntax for this case.
The name `loop` also doesn't imply 'loop with no termination condition' to me (other than break/continue).