Fusing Industry and Academia at GitHub (Experience Report)
summary
GitHub describes building Semantic in Haskell to power code navigation and structural diffing across 9 languages, using tree-sitter grammars compiled to C for parsing (including tricky Ruby) and an RPC layer (servant) for fast scale. A small core team (4–7 people) factors language rules into a DSL handed to the Elixir community, and applies recursion schemes and structural diff algorithms for better diffs. Research-inspired tools lead to a practical fused-effects implementation with ~10,000 downloads and production use.
AI-written summary · about
chapters (14)
- 0:00Intro
- 1:17Semantic
- 1:41Product #1: Table of Contents
- 2:27Product #2: Code navigation
- 5:45Tree-sitter
- 6:44GLR parsing
- 8:09Syntax
- 11:42Diffing
- 15:02Recursion schemes
- 16:22Program analysis
- 18:39fused-effects
- 20:11Conclusion
- 21:11Difficulties
- 24:17Successes








