~/talk

Generative Programming and Verification

Talkat EuroClojure 2017 · 2017-07-20..07-21· [compilers-and-language-design, scala]
slides:none on file

A <500-line SQL engine is implemented in Scala that starts as a relational-algebra interpreter and, via lightweight modular staging and Scala’s type system, generates low-level code and even C output; this pipeline yields microbenchmarks that beat commercial and open-source databases and gives a <500-line SQL engine with 20x speedup on staged matrix code. The workflow generates verification annotations so generated C parsers and routines are provably safe — e.g. a staged HTTP parser is verified free of memory and overflow errors.

AI-written summary · about

  1. 0:00Introduction
  2. 0:45Scala
  3. 2:05Performance
  4. 3:07The problem with abstraction
  5. 4:48Staging
  6. 6:31Matrix example
  7. 7:57Code in Scala
  8. 8:26DSL Implementation
  9. 14:58Code Generation
  10. 20:04Patterns
  11. 23:14Case Study
  12. 24:25Generic Support Library
  13. 28:29Pricing and Validation
  14. 28:56Parsing
  15. 31:10Security
  16. 33:24Type Classes
  17. 35:53Summary
  18. 37:10Learning more
~/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.