~/talk

Fusing Industry and Academia at GitHub (Experience Report)

Talkat ICFP 2022 · 2022-09-11..09-16· [developer-experience]
links:none on file
name:Rob Rix
speakerdeck:robrix
linkedin:nicolasgwu
links:none on file
slides:none on file

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

  1. 0:00Intro
  2. 1:17Semantic
  3. 1:41Product #1: Table of Contents
  4. 2:27Product #2: Code navigation
  5. 5:45Tree-sitter
  6. 6:44GLR parsing
  7. 8:09Syntax
  8. 11:42Diffing
  9. 15:02Recursion schemes
  10. 16:22Program analysis
  11. 18:39fused-effects
  12. 20:11Conclusion
  13. 21:11Difficulties
  14. 24:17Successes
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.