~/talk

Let's derive HTTP clients from types

Talkat ScalaIO 2018 · 2018-10-29..10-31· [scala, api-design]
links:none on file
slides:none on file

Claim: you can derive your HTTP client function from a single type. Implementation details: represent endpoints as literal singleton types, use shapeless witness and HList to build a type‑level API, then run recursive implicit resolution (lazy implicits) to fold into a request structure. Result: a derived function for HTTP4s returning IO[List[User]] that actually works. Caveats: compilation can blow up — uploader reports exponential compile times up to hours — code and a library exist but need performance tuning.

AI-written summary · about

  1. 0:00Intro
  2. 2:15Summary
  3. 4:01Benefits and Cost
  4. 5:48About me
  5. 12:00API type
  6. 19:33Derivation
  7. 29:45Implicit Resolution
  8. 31:02Data Collection
  9. 31:58Return Case
  10. 34:41Putting it all together
  11. 36:38Derived
  12. 38:28Two takeaways
  13. 39:21A shameless plug
  14. 40:58Questions
~/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.