A live coding session where a solo developer builds a query language compiler for a file-based issue tracker. The tracker stores tasks as markdown files in folders within a git repo. To enable complex filtering (by tags, untagged status, boolean combinations), the developer designs a stack-based bytecode VM with opcodes like OP_TAG, OP_NOT, OP_OR, OP_UNTAGGED. The session covers the decision to skip building an AST and instead compile filter expressions directly to bytecode, discusses when ASTs are actually necessary, implements a boolean stack interpreter in C, and adds DA_FIRST and DA_POP helpers to a single-header C library (nob.h). The session ends just before implementing the parser that compiles user-written filter strings into bytecode.

2h 10m watch time

Sort: