~/talk

Making EDSLs fly

Talkat Tech Mesh 2012 · 2012-12-04..12-06· [webassembly]
slides:none on file

Implements a typed EDSL in Haskell with both shallow vs deep embedding, builds a deep AST interpreter and an LLVM JIT code generation backend, and measures performance: shallow direct Haskell run ~3.7s, deep-interpreter ~15s, generated machine code ~0.3s on a 3-asset, 10 million-iteration benchmark. Details include straight-line codegen for small asset lookup, handling of typed lifting, conditionals and SSA phi joins, and a working JIT that yields an order-of-magnitude speedup.

AI-written summary · about

  1. 0:00Start
  2. 4:54Observed Functions
  3. 6:46Shallow Embedding
  4. 7:32Date and Asset Types
  5. 8:25Assets
  6. 8:52Implementation of the Shallow Embedding
  7. 11:46The Deep Embedding in Haskell
  8. 23:57Deep Embedding
  9. 27:47What Is the Llvm
  10. 38:30Conditionals
  11. 39:13Conditional Branch Instruction
~/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.