Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Code Querying

Code querying is about searching and pattern-matching over code in a structured, expressive way. This covers everything from basic text search (ripgrep) to AST-level structural search (ast-grep, Semgrep) to full Datalog-based code-as-data query engines (CodeQL, Soufflé).

The key design question here is the tradeoff between expressiveness, speed, and ease of use.