~/talk

An alternative to CPP

slides:none on file

Proposal implements a GHC builtin minimal CPP replacement that only supports conditional compilation, integrates into the lexer/parser pipeline, and aims to be tooling friendly and round‑trippable with exact‑print. It parses directives as tokens, evaluates simple operators (and/or/not, <, >), omits include files, and processes only directives in column 1 to avoid label conflicts. Disabled branches become comments so edits preserve layout, turns disabled lines into comments, and a Hackage run shows 508 failures (0.25% of 204k)—targeting ~90% coverage.

AI-written summary · about

  1. 0:00Intro
  2. 0:24What is CPP
  3. 1:17CPP in Cabal
  4. 2:09Why is CPP a problem
  5. 3:47The problem with CPP
  6. 4:21The alternative
  7. 5:28Goals
  8. 7:08Implementation
  9. 8:20Compliance
  10. 9:20Usage
  11. 12:12Line pragmas
  12. 13:07Code modification
  13. 20:49Experience report
~/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.