~/talk

A Helicopter Tour of Purely Functional Data Structures

Talkat LambdaConf 2019 · 2019-06-05..06-07· [databases]
links:none on file
slides:none on file

Walks through concrete implementations and tradeoffs: Scala & Haskell implementations of lists, lazy streams, two‑stack queues, 2‑3 trees and finger trees, plus zippers. Claims and results are specific — queues use a front/rear two‑list trick with amortized O(1) operations and stream memoization to avoid repeated work; finger trees surface the ends for finger trees give amortized O(1) ends and good random access; zippers appear in practice as Circe’s HCursor for efficient nested JSON edits. Code examples compile and illustrate costs and reuse.

AI-written summary · about

  1. 0:00Start
  2. 4:09FUNCTIONAL DEFINITION
  3. 15:46AMORTIZATION
  4. 27:03NESTED TYPE STRUCTURE
  5. 34:38USAGE EXAMPLE
  6. 37:50CONCLUSION
~/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.