Beyond Cons: Purely Relational Data Structures
We present {Kanren} (read: set-Kanren), an extension to miniKanren with constraints for reasoning about sets and association lists. {Kanren} includes first-class set objects, a functionally complete family of set-theoretic constraints (including membership, union, and disjointedness), and new constraints for reasoning about association lists with shadowing and scoped lookup. These additions allow programmers to describe collections declaratively and lazily, without relying on structural encodings and eager search over representation spaces. The result is improved expressiveness and operational behavior in programs that manipulate abstract data - particularly interpreters - by supporting set equality based on contents, enabling finite failure, and allowing more compositional constraint interactions. We describe the design and implementation of {Kanren} in a constraint-enabled miniKanren system and illustrate its use in representative examples.
Fri 17 OctDisplayed time zone: Perth change
10:30 - 12:15 | Extending miniKanren and Relational ProgrammingminiKanren at Peony NW Chair(s): Ekaterina Verbitskaia JetBrains Research; Constructor University Bremen | ||
10:30 26mTalk | Beyond Cons: Purely Relational Data Structures miniKanren Rafaello Sanna Harvard University, William E. Byrd University of Alabama at Birmingham, Nada Amin Harvard University Pre-print | ||
10:56 26mTalk | Committing to the bit: Relational programming with semiring arrays and SAT solving miniKanren Dmitri Volkov Indiana University, Yafei Yang Indiana University, Chung-chieh Shan Indiana University DOI Pre-print | ||
11:22 26mTalk | An Empirical Study of Rational Tree Unification for miniKanren miniKanren Eridan Domoratskiy Saint-Petersburg State University, Dmitrii Kosarev , Dmitri Boulytchev Saint Petersburg State University Pre-print | ||
11:48 26mTalk | concurrentKanren: miniKanren for parallel execution miniKanren Sjoerd Dost None Pre-print | ||