~/talk

Data Structures of the Dark Side

Talkat Scala Days Berlin 2016 · 2016-06-15..06-17· [functional-programming]
slides:none on file

Explains concrete implementations: a stream zipper positions method that yields every cursor lazily so annotating a “sandwich” element (prev < cur < next) becomes a single coflatMap over cursors and back to stream; shows helper flatMapWids to keep original values. Shows DList encoded as a list -> list function and uses a trampoline for stack-safety so concatenation is O(1). Demonstrates writer-monad logging turning quadratic appends into linear time (example: left-assoc ~8s vs right-assoc ~10ms).

AI-written summary · about

  1. 0:00Intro
  2. 2:19Zippers
  3. 4:52Choice of Methods
  4. 6:02Monadic Methods
  5. 7:51Folds and Catamorphisms
  6. 9:51Example of Fold
  7. 12:24Good-Fold Detection
  8. 14:06Anamorphisms
  9. 15:03Stream Example
  10. 18:42Infinite Possibilities
  11. 22:15Comonads
  12. 23:41StreamZipper as a Comonad
  13. 24:12Back to Our Scenario
  14. 28:00Almost There
  15. 33:35Unfold for Tree
  16. 34:02The Writer Monad
  17. 34:35Example (Root Finding)
  18. 36:24The Concatenation Problem
  19. 36:43Benchmarks
  20. 37:32Recursive Concatenation
  21. 38:59Naive Implementation
  22. 40:05Function Composition
  23. 41:21The Stack Problem
  24. 42:46Enter Trampolines
  25. 44:03Adding map
  26. 44:41Enhancing the Hierarchy
  27. 45:11Complete Signature
  28. 46:16Discussion
  29. 47:26Summary
~/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.