~/talk

The Art of Program Derivation and Parallel Computation

Talkat LambdaConf 2015 · 2015-05-22..05-24· [frontend-architecture]
links:none on file
slides:none on file

Starts from the specification and mechanically derives efficient implementations, showing how the Algebra of Programming yields MapReduce ideas and concrete equational steps. It proves and codes identities like fold fusion, tails/scan fusion and the Banana Split theorem, then derives a linear algorithm for the maximum segment sum by stepwise rewrites and GHCI checks. Expect runnable examples, exercises in the GitHub repo, discussion of compiler rewrite rules (build/fold fusion) and when the transformations actually reduce work.

AI-written summary · about

  1. 0:00Introduction
  2. 4:13Origins of calculating with programs
  3. 16:18Equational reasoning with folds
  4. 28:22Fold fusion and transformations
  5. 37:18Banana split theorem
  6. 49:46List homomorphisms and map-reduce
  7. 1:00:35Maximum segment sum problem
  8. 1:10:49Efficiency theory
  9. 1:20:01Parallel prefix sum
  10. 1:28:40Current research
~/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.