~/talk

Type-level interfaces in Haskell & Rust: pragmatic type-level programming

Talkat Functional Conf 2025 · 2025-01-24..01-25· [haskell, rust]
slides:none on file

Presents a concrete design for type-level interfaces implemented in Rust and Haskell: existential wrappers + associated-type traits that hide implementation types, macros to emulate type-level strings, and a universal eval/verbs interpreter that maps declarative type-level HTTP DSLs to runtime servers. Demo code targets tiny-http and axum (partial coverage) and shows adding new methods or handlers without rebuilding core code, arguing the approach solves the expression problem and makes many invalid API states unrepresentable at compile time.

AI-written summary · about

  1. 0:00Introduction to FP design
  2. 2:52Methodologies and goals
  3. 6:39Designing type-level eDSLs
  4. 10:37Core interface concepts
  5. 13:22Implementing model domains
  6. 16:18Existential wrappers and types
  7. 21:44Evaluation and interpretation
  8. 25:23Extensibility patterns
  9. 28:40Advanced topics and Q&A
  10. 35:25Technical details 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.