TMK Lisp is the only PL where you cannot calculate the correct indent statically. Macro-defining-macros with indent declarations break this.
Related Posts
I really like pattern matching in Rust, but I find myself using it less and less.
`if let` and `let ... else` require substantially less indentation, and I often use them for Option values.
I don't miss this syntactic sugar in OCaml though. Maybe it's just because OCaml has a 2 space indent, unlike Rust's 4 space indent?
Go has an elegant approach to defining example functions, which are shown in docs as `main()` with the output: https://go.dev/blog/examples
I've been experimenting with an 'evaluate up to cursor' mode for my PL project.
I love evaluating self-contained snippets in Lisp, this generalises the idea.
The interpreter remembers the arguments when you run tests, then can re-use them when you say 'eval up to here'.
What do you think?