~/talk

The Extensibility Problem

Talkat Oslo Elm Day 2019 · on Saturday, 2019-02-16· [functional-programming, software-architecture]
slides:none on file

Elm code stays concrete which makes reasoning trivial but blocks practical optimizations. An escape room hint search is implemented by word-splitting then moved to a Dict word → list of hints after ~100 games because naive search becomes very slow on decade-old hardware; Dict speeds lookup but worst‑case searches still take about a second and cannot be optimized further because Dict is opaque types in the stdlib. A seating app exposes the array→list rendering cost and shows why ad hoc polymorphism like type classes or a generic Dict API is tempting but would require language or library changes.

AI-written summary · about

  1. 0:00Welcome and introduction
  2. 1:32What is the extensibility problem
  3. 3:40Case study escape room hints
  4. 6:12Opaque types trade-offs
  5. 8:43Pricing with opaque types
  6. 9:46Board game tracker struggle
  7. 11:32Clojure’s extensibility pitfalls
  8. 12:56Trade-offs and unanswered questions
~/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.