Easy Parsing with Parser Combinators
https://www.lihaoyi.com/post/EasyParsingwithParserCombinators.html
Lovely introduction to parser combinators with a good rationale discussion.
Related Posts
Counter-intuitively, if you're writing a parser for a programming language, you need it to be a total function. As soon as you build IDE tooling, you need ASTs from invalid or incomplete input.
The parser should return (Ast, List<Error>) rather than Result<Ast, Error>.
I've released difftastic 0.65! Highlights of this release:
* Better parsing of Clojure, Common Lisp, Kotlin, Rust and Zig.
* Quality of life improvements for binary files.
https://github.com/Wilfred/difftastic/releases/tag/0.65.0
In praise of Tcl, and reflecting on syntax features for a good command shell: https://yosefk.com/blog/i-cant-believe-im-praising-tcl.html