~/talk

Going bananas with recursion schemes for fixed point data types

Talkat Lambda Days 2017 · 2017-02-09..02-10· [functional-programming, scala]
slides:none on file

Claims a working Scala library and patterns not just theory: a Matryoshka Scala port implements generalized catamorphisms over Fix types, with code that builds expressions, defines F-algebras (evaluate, makeString, optimize) and runs catamorphism/anamorphism/hylomorphism. Examples show how Fix represents recursive ASTs, how hylo fuses unfold+fold for performance (nearly two‑times saving claimed), and a real project Quasar uses it in production so far without trampoline workarounds.

AI-written summary · about

  1. 0:00Introduction
  2. 2:45Recursive structures
  3. 3:25Expressions
  4. 4:23Representation
  5. 4:41Color
  6. 5:11Evaluate
  7. 6:12String
  8. 8:55Traversing the structure
  9. 11:18Polymorphic
  10. 12:28Is it possible
  11. 13:07Expression of unit
  12. 14:19More complicated example
  13. 15:07String example
  14. 15:35Six point data type
  15. 15:51Professional speakers
  16. 16:01My wife
  17. 16:14Cat
  18. 16:40FixSex
  19. 18:07Express
  20. 18:24Integers
  21. 20:22Final structure
  22. 21:27Recap
  23. 22:20Kathamorphism
  24. 22:41Cattlemorphism
  25. 24:13Functor
  26. 26:56Implementation
  27. 28:27Algebra of Si
  28. 29:14The Driver
  29. 30:01The Algebra
  30. 32:24Optimize
  31. 33:19Catamorphism
  32. 33:32Other systemmorphisms
  33. 34:26Anamorphism example
  34. 34:42Dual full algebra
  35. 34:53Two expressions of double
  36. 35:44Highlowmorphism
  37. 35:56Catabolism
  38. 38:13Composable
  39. 43:11Quasar
  40. 43:38Twitter
  41. 43:57Tail recursion
~/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.