~/talk

Materialize Typeclasses with Magnolia

Talkat Scale By the Bay 2020 · on Thursday, 2020-11-12· at 16:45· functional, Online· [scala, compilers-and-language-design]
slides:none on file

Shows how Magnolia derives typeclasses at compile time to auto-generate Json/Avro/BigQuery/Protobuf converters for case classes and sealed traits, replacing hand-written instances and shapeless macros. Demonstrates a tiny jsonify implementation and avro/generic-record converters that perform successful round-trips, and reports significantly faster compile times versus shapeless for arbitrary/converter derivation. Mentions Spotify’s magnolify project and practical limitations (dispatch for some unions, handling multi-parameter typeclasses) and workarounds.

AI-written summary · about

  1. 0:00Introduction and agenda
  2. 1:05What are type classes
  3. 3:34Designing a type class
  4. 5:41JSONify library overview
  5. 8:55Deriving type classes manually
  6. 11:03Magnolia introduction
  7. 13:09Using Magnolia for JSONify
  8. 17:45Deriving type class for products
  9. 18:27Deriving type class for coproducts
  10. 20:34Putting it all together
  11. 22:19Magnolia limitations and workarounds
  12. 23:25Type class variance in Magnolia
  13. 24:31Magnolia in Spotify's Shio
  14. 25:16Magnolia in testing and cats
  15. 25:38Converters in Spotify
  16. 27:05Avro field type class
  17. 29:52Future support for coproducts
  18. 30:13Type class in action demo
  19. 31:58Benchmark results
  20. 32:41Magnolia improvements and references
~/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.