~/talk

Hands-On Intro to Bidirectional Type Inference with Elm

Talkat Functional Conf 2025 · 2025-01-24..01-25· [functional-programming]
links:none on file
slides:none on file

Implements a bidirectional type inference engine for a simply-typed lambda calculus in Elm, with working infer and check functions, use of Elm's Elm Dictionary as the gamma context, and live demo code in an online Elm IDE. Shows concrete rules: variables, function application (infer E1 then check E2), and annotated lambdas (check mode requiring top‑level annotations). Several unit tests start failing but after coding the three cases identity and basic integer/boolean examples succeed; error reporting still uses Maybe vs Result.

AI-written summary · about

  1. 0:00Intro to bidirectional type inference
  2. 1:07Motivation for bidirectional type inference
  3. 4:22Structure and benefits of bidirectional inference
  4. 5:47Roadmap and Elm setup
  5. 6:09Simply typed lambda calculus
  6. 10:24Type context and dictionary ops
  7. 11:31Type judgments and deduction rules
  8. 13:00Implementing type judgments in Elm
  9. 15:30Type inference for function application
  10. 18:47Challenges with function declarations
  11. 19:30Check versus infer split
  12. 21:17Live demo and Elm IDE walkthrough
  13. 22:41Check-infer and annotation rules
  14. 25:56Implementing variable inference
  15. 27:00Implementing function application
  16. 30:00Implementing function declarations
  17. 33:17When to check vs infer
  18. 35:54Future improvements and resources
  19. 37:18Call for volunteers and closing
~/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.