~/talk

Zippers; The Theory and the Application

slides:none on file

Claims that every zipper is a comonad and that a zipper is the derivative of a data structure (McBride et al) get demonstrated with concrete encodings: a list zipper as lefts, focus, rights, and a tree zipper with parent/sibling context. Code examples in Haskell and Scala show O(1) left/right moves, modify/delete, and duplicate/duplicate-to-list. Worked examples include a CSV editor, a window manager layout (xmonad), and small proofs by algebraic differentiation to derive zipper types.

AI-written summary · about

  1. 0:00Introduction
  2. 1:58Zippers
  3. 4:17Example
  4. 8:17Multiway Trees
  5. 9:32Siblings
  6. 10:18Tree Zipper
  7. 11:39Examples
  8. 13:13Functors
  9. 15:36Functor
  10. 21:06Zipper
  11. 26:11Python
  12. 27:13XMonad
  13. 28:49Common Question
  14. 30:42Context
  15. 33:21Algebraic Data Types
  16. 34:43Haskell Syntax
  17. 37:26Void
  18. 40:49a slightly trickier one
  19. 42:32a list of algebraically
  20. 43:16a list
  21. 45:27differentiation
  22. 46:17zipper without context
  23. 46:54list zipper
~/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.