~/lightning

Extensible configurable prettyprinters

Lightningat ZuriHac 2023 · 2023-06-10..06-12· [compilers-and-language-design]
links:none on file
slides:none on file

Three concrete designs for an extensible configurable pretty‑printer are compared with code-level tradeoffs: a zero classes approach uses a per-type renderer value so every parametrized node must be supplied and deep nested record updates become tedious; a one class design embeds renderers in a config to reuse defaults but requires changing every occurrence of a type and complicates type-changing updates; a two classes solution uses higher‑kinded configs and monoids to update all occurrences at once but is significantly more complex and cannot render functions. Choose if you want simplicity, local overrides, or global configurable defaults.

AI-written summary · about

  1. 0:00Start
  2. 0:19extensible, configurable
  3. 1:37Example
  4. 2:51Classless solution
  5. 5:39One-class solution
  6. 11:14Two-class solution
  7. 13:14Which is best?
~/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.