~/talk

Armored type safety with Iron

Talkat Scala.IO 2024 - Nantes · 2024-02-15..02-16· [typescript]
links:none on file
slides:none on file

Library claim: enforce domain constraints with zero cost, zero dependency using Scala 3 features. Implementation details: composition via a refine-like type operator, opaque types, inlines, and the new macro system, compile‑time refinement for constants and runtime refineEither for inputs, integrations for Cats ZIO tapir circe doobie. Production result: Ledger integrates Iron across services, shrinking runtime bugs and surfacing many errors at compile time while keeping compile latency low.

AI-written summary · about

  1. 0:00Welcome
  2. 1:05Presenters overview
  3. 2:30Type safety cautionary tale
  4. 7:37Introducing Iron
  5. 9:01Compile-time constraints
  6. 12:57Iron with opaque types
  7. 14:24Bitcoin Satoshi type example
  8. 16:51Iron with functional libraries
  9. 17:53Tag validation example
  10. 18:56Iron and Doobie integration
  11. 20:02Doobie integration deep dive
  12. 23:56Key takeaways
  13. 25:30Q&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.