~/talk

A Typed Multi-Level Datalog IR and its Compiler Framework

Talkat OOPSLA 2024 · 2024-10-20..10-25· [databases]
links:none on file
links:none on file
links:none on file
slides:none on file

A compiler framework implements a typed multi-level Datalog IR in Scala, formalizing a bipolar, flow-sensitive type system with three-valued contexts that both enforces range-restrictions and tracks logic-variable bindings. The implementation integrates 4 Datalog frontends, 3 backends, and 16 IR extensions, lets one source program target different solvers for direct performance comparisons, and reduces frontend code size (examples: ~300 LOC for Soufflé, ~250 LOC for a functional language frontend, and a 10× reduction for a prior compiler).

AI-written summary · about

  1. 0:00Introduction
  2. 1:25Datalog in PL research
  3. 3:14Datalog dialect challenges
  4. 5:22Typed multi-level Datalog IR
  5. 6:24Type system requirements
  6. 9:13Variable boundedness reasoning
  7. 11:21Bipolar type system design
  8. 13:29Polarity in type system
  9. 14:52Disjunctions and negation
  10. 15:57Compiler extensions
  11. 16:39Performance comparison
  12. 17:22Front end effort
  13. 18:02Summary
  14. 19:07Q&A: Prolog modes
  15. 19:49Q&A: Practical trade-offs
~/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.