~/talk

Staged Selective Parser Combinators

Talkat ICFP 2020 · 2020-08-23..08-26· [compilers-and-language-design]
links:none on file
linkedin:nicolasgwu
links:none on file
slides:none on file

Compiler for parser combinators that converts typed combinator trees into a CPS-style instruction machine and partially evaluates it with typed staging, implemented as the Parsley library. Monadic bind is removed so staging can eliminate static structure, while selective functors recover necessary context-sensitive choices. Generated code is simple continuation-passing functions and benchmarks show 3–4× faster than other combinator libraries and even beats Happy, a parser generator.

AI-written summary · about

  1. 0:00Staged selective parser combinators
  2. 1:05Parser combinators in Haskell
  3. 3:41Performance and control flow
  4. 6:10Type-safe stack representation
  5. 8:36Staging as meta-programming
  6. 10:20Staging machine state evaluation
  7. 12:47Generating optimized code
  8. 13:09Limitations of bind
  9. 13:52Performance benchmarks
~/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.