~/talk

The Expression Problem, Generalised

Talkat Functional Conf 2025 · 2025-01-24..01-25· [compilers-and-language-design]
slides:none on file

Wadler’s 1998 formulation (add new cases and new functions without touching old code) expands from sum types to records and nested structures, and the concrete claim is that optics (lenses, prisms, traversals) provide the minimal interfaces needed to write all functions without rewriting data types. Examples include JSON-like records and nested case/record mixes; implementation cost is real—author reports about 700 lines of optics in Haskell and tedious instance work in Clojure—yet the solution works functionally with runtime and maintenance tradeoffs.

AI-written summary · about

  1. 0:00Introduction
  2. 2:12What is the expression problem
  3. 7:10Expression problem example
  4. 15:01Why it matters in real code
  5. 23:34Generalising the expression problem
  6. 33:11Optics as a solution
  7. 37:49Summary
  8. 38:12Q&A
~/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.