~/talk

Type-safe Nanopasses: How to write a safe and modern compiler front-end

Talkat Infer 2024 · on Monday, 2024-06-24· [compilers-and-language-design]
links:none on file
slides:none on file

Ada front end for Infer compiles Liong parse trees to CIL by composing many tiny, type-safe nanopasses implemented in OCaml, using recursion schemes for traversal and polymorphic variants to represent overlapping node sets. A small PPX that emits map/union diffs plus a PPX generator reduces boilerplate; the pipeline ends up as 36 passes, most <200 LOC, one large pass for defaults, and the whole reengineer takes about a year and yields maintainable, statically checked transformations.

AI-written summary · about

  1. 0:00Context and objectives
  2. 3:50Small separated passes
  3. 8:40Type-safe pass architecture
  4. 12:15Avoiding boilerplate code
  5. 20:33Implementation techniques
  6. 26:23Results and conclusions
  7. 30:00Q&A and discussion
~/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.