~/talk

Relational Synthesis for Pattern Matching

Talkat miniKanren 2020 · on Thursday, 2020-08-27· [compilers-and-language-design]
links:none on file
slides:none on file

The work encodes pattern-match synthesis in miniKanren using two relational interpreters and replaces the resulting universal quantifier by enumerating inhabitants up to depth h+1 with a per-type default, producing a finite example set. It adds a branch-and-bound pruning via a new structural constraint primitive to cut searches and uses a size metric: switches count (return = 0, switch = branch count). Small benchmarks synthesize optimal code in seconds (three-Boolean example reaches optimal size 4 after ~2.5s); large cases can need up to 11,000 examples and show scalability limits.

AI-written summary · about

  1. 0:00Intro
  2. 1:42Pattern Matching Syntax
  3. 3:39Synthesis Algorithm
  4. 4:38Eliminating
  5. 5:17Example 1: Three Examples is a Complete Set
  6. 6:15Example 2: Not a Complete Set of Examples
  7. 6:52Current Algorithm for Examples Generation
  8. 7:32Improvement: Reducing Examples Set
  9. 8:20Branch and Bound Optimization
  10. 8:55Structural constraint
  11. 10:01Minimization Criterion for Synthesized Program
  12. 10:42Evaluation: matching three boolean values
  13. 11:13Performance problem (2/2)
  14. 12:23Conclusions and Future Work Contributions
~/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.