miniKanren is a lightweight embedded language for logic and relational programming. Many of its useful features come from a distinctive search strategy, called interleaving search. However, with interleaving search conventional ways of reasoning about the complexity and performance of logical programs become irrelevant. We identify an important key component — scheduling — which makes the reasoning for miniKanren so different, and present a semi-automatic technique to estimate the scheduling impact via symbolic execution for a reasonably wide class of programs.
Tue 10 MayDisplayed time zone: Osaka, Sapporo, Tokyo change
22:10 - 23:00
|Checked corecursive streams: trading expressive power for reliability|
|Scheduling Complexity of Interleaving Search|