Improving stableKanren’s Backward Compatibility
summary
stableKanren gains two concrete changes to run legacy miniKanren code: a syntactic analyzer has-negation that skips heavyweight stable-model contradiction checks for definite and non-negated relations, and a new execution API run-partial that returns answers for define/defineo relations even when unsatisfiable stableKanren rules coexist. Implementation converts defino handling into local negation checks and preserves full checking only when negation appears. Empirical result: stratified examples drop from 32.6s to 0.01s, and standard infinite-result miniKanren relations now produce answers.
AI-written summary · about
chapters (11)
- 0:00stableKanren introduction
- 1:06Preliminaries on miniKanren and stableKanren
- 3:59Backward compatibility issues
- 6:27stableKanren semantics
- 11:27Handling contradictions
- 13:13Current limitations
- 13:58Proposed fix
- 16:09Solutions implemented
- 16:50Performance gains
- 19:40Performance results
- 20:02Conclusion
related talks
44mA Vision for Relational Programming in miniKanren
43mPost Functional
23mmediKanren: A System for Bio-medical Reasoning
50mA Relational Exploration of the Chomsky Hierarchy
22mDependency-aware Code Naturalness
36mEnhanced and Efficient Reasoning in Large Language Models
55mLearning Safe Action Models
21mOptimizing Optimizations, Declaratively: Optimizing the Higher-Order Functions in(…)
