~/talk

The Choice Construct in the Soufflé Language

Talkat APLAS 2021 · 2021-10-17..10-22· [databases]
links:none on file
links:none on file
links:none on file
links:none on file
name:Xi Wu
links:none on file
links:none on file
slides:none on file

Implements a relation-based choice extension to the Soufflé Datalog engine that enforces functional dependencies on relations, emitting an existence-check (using Soufflé’s B-tree existence check) in RAM before insertions and compiling to C++. Applies to worklist tasks like rooted spanning tree over specCPU-derived CFGs, reducing a 157-line native encoding to 3–5 LOC and yielding up to 10k× faster runs and constant memory use; relation- and rule-based choices are equally expressive and show no significant performance gap.

AI-written summary · about

  1. 0:00Intro
  2. 0:17Soufflé
  3. 2:35Motivating Example: Rooted Spanning Tree
  4. 3:12Stratified Datalog Solution
  5. 3:58Datalog with Choice Construct
  6. 5:41Relation based Choice Syntax
  7. 6:54Rule-based Choice
  8. 8:20Expressive Power
  9. 9:10Implementing Relation-based Choice in Souttle
  10. 9:55RAM Representation
  11. 11:24Experiments
  12. 12:15Root Spanning Tree with Real World CFGS
  13. 13:19Classic Non-deterministic Algorithms in Datalog
  14. 13:45Experience Report
~/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.