Implementing an RPN macro in Rust: https://blog.cloudflare.com/writing-complex-macros-in-rust-reverse-polish-notation/ (includes a really useful section on robust macros that produce good error messages)
miniblog.
Related Posts
Caddy is really growing on me. It's nice having a web proxy that includes letsencrypt functionality without any additional configuration.
I've tended to use nginx with a separate letsencrypt setup for projects before, and it's much more awkward.
Today I learnt about Solargraph, an LSP for Ruby which includes an impressive amount of type inference and type checking! https://solargraph.org/guides/type-checking
Type signatures are parsed from doc comments, similar to JSDoc with TypeScript.
Microsoft is writing a PHP parser that handles error recovery well, and the internals docs are really accessible.
It includes a discussion of handling trivia and even some sample parsing code.