~/talk

Data, and when not to use it

Talkat Scala World 2017 · 2017-09-16..09-19· [data-science]
links:none on file
slides:none on file

Argues that many intermediate recursive data structures should be replaced by interfaces (Church encoding / final tagless) to avoid repeated allocations and traversals, demonstrating with Either error composition, an SVG-to-Android/iOS instruction program, and a RandomAccess example that inlines the free monad. Uses cats, inject type class, coproducts and monoid folds; reports large traversal costs and that free monads are noticeably slower while church-encoded folds are fast. Recommends concrete data only for cycles/graphs, primitive recursion, or heavy tree rewrites; testing can fix to free locally.

AI-written summary · about

  1. 0:00Introduction
  2. 0:48Background
  3. 10:55Lists
  4. 20:31Free Monads
  5. 21:30Sample Program
  6. 26:34Why do we like data
  7. 28:16The limitations of data
  8. 30:10The continuation passing style
  9. 33:34For comprehensions
  10. 36:40List folding
  11. 38:05Church encoded
  12. 38:47Method type
  13. 41:27Random access
  14. 42:59Church encoded interpreter
  15. 43:20Tradeoffs
  16. 51:18Junction
  17. 53:04More questions
~/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.