~/talk

Typed Design Patterns for the Functional Era

Talkat FUNARCH 2023 · on Friday, 2023-09-08· [rust, design-collaboration]
slides:none on file

Argues that some recurring system designs resist being encoded purely as libraries and shows four Rust encodings: Witness, State Machine, Parallel Lists, Registry. Implements the Registry pattern as a working event system using Rust TypeId plus downcasting so the hashmap key is the payload type, not a string, and compilation prevents triggering a click handler with a keypress. Demonstration compiles and runs; trade-offs include subtle mismatches when types use references or wrappers — those remain developer pitfalls. type-driven keys

AI-written summary · about

  1. 0:00The quest for FP patterns
  2. 2:30Defining design patterns
  3. 5:04Patterns and language design
  4. 7:24Rust as a functional case
  5. 11:36The registry pattern
  6. 25:50Discussion and conclusion
~/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.