~/talk

Duality and How to Delete Half (minus ε) of Your Code

Talkat Scale By The Bay 2018 · 2018-11-15..11-17· [functional-programming, scala]
slides:none on file

Claims that 96% minus ε of duplicated recursion-schemes code disappears by abstracting folds/unfolds over comonads and arrow categories, collapsing monadic, cofree, para/histo variants into one generalized cata. Implements this in Scala using Cats, kind-projector, typelevel/Dotty features and ports a Haskell dualizer to Scala. Demonstrates concrete types (CoFree, tuple comonad, Kleisli-like arrows), compiles with typelevel Scala, and notes tradeoffs: naming headaches, poorer type inference and compile-time cost, but no runtime penalty thanks to erasure.

AI-written summary · about

  1. 0:00Talk introduction
  2. 1:06About the speaker
  3. 2:29What is a catamorphism
  4. 5:40Expanding the library
  5. 9:10Library growth problem
  6. 9:54Abstracting over comonads
  7. 12:43Abstracting function arrows
  8. 15:32Duality in recursion
  9. 18:00Kind polymorphism solution
  10. 20:28Final thoughts and summary
~/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.