Tag
pattern-matching
- May 31, 2026 Pattern Matching and the Exhaustiveness Check How a match expression is compiled into a decision tree, why exhaustiveness is decidable for constructors but not for guards, and what an unreachable arm costs. programming languages
- Feb 17, 2026 Peephole Optimization and the Sliding Window How local rewrites over a small instruction window remove redundant loads, collapse moves, and turn compare-and-branch pairs into single instructions, and where the window size stops helping. compilers
- Dec 19, 2024 Maximal Munch and Dynamic-Programming Tiling Two ways to choose which instruction patterns cover an expression tree, why greedy top-down matching can be arbitrarily bad, and what the optimal algorithm costs to run. compilers
- Oct 17, 2023 Constant Folding and Algebraic Rewrites on a Fixed Graph How a compiler evaluates constant subgraphs at build time, which algebraic identities survive floating-point arithmetic, and why rewrite order determines the result. inference systems