English
Related papers

Related papers: Scheduling Complexity of Interleaving Search

200 papers

miniKanren's key semantic advance over Prolog is to implement a complete yet efficient search strategy, fairly interleaving execution between disjuncts. This fairness is accomplished by bounding how much work is done exploring one disjunct…

Programming Languages · Computer Science 2025-10-31 Michael Arntzenius

We present a deterministic small-step operational semantics for miniKanren that explicitly represents the evolving search tree during execution. This semantics models interleaving and goal scheduling at fine granularity, allowing each…

Programming Languages · Computer Science 2025-10-20 Brysen Pfingsten , Jason Hemann

We study conjunctive partial deduction, an advanced specialization technique aimed at improving the performance of logic programs, in the context of relational programming language miniKanren. We identify a number of issues, caused by…

Programming Languages · Computer Science 2021-09-08 Ekaterina Verbitskaia , Daniil Berezun , Dmitry Boulytchev

We present a formal study of semantics for the relational programming language miniKanren. First, we formulate a denotational semantics which corresponds to the minimal Herbrand model for definite logic programs. Second, we present…

Programming Languages · Computer Science 2020-09-18 Dmitry Rozplokhas , Andrey Vyatkin , Dmitry Boulytchev

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…

Programming Languages · Computer Science 2025-10-06 Rafaello Sanna , William E. Byrd , Nada Amin

We propose semiringKanren, a relational programming language where each relation expression denotes a semiring array. We formalize a type system that restricts the arrays to finite size. We then define a semantics that is parameterized by…

Programming Languages · Computer Science 2025-09-29 Dmitri Volkov , Yafei Yang , Chung-chieh Shan

In this article, we give a brief overview of the current state and future potential of symbolic computation within the Python statistical modeling and machine learning community. We detail the use of miniKanren as an underlying framework…

Programming Languages · Computer Science 2020-06-01 Brandon T. Willard

We present a statically typed embedding of relational programming (specifically a dialect of miniKanren with disequality constraints) in Haskell. Apart from handling types, our dialect extends standard relational combinator repertoire with…

Programming Languages · Computer Science 2024-09-02 Nikolai Kudasov , Artem Starikov

We present an implementation of the relational programming language miniKanren as a set of combinators and syntax extensions for OCaml. The key feature of our approach is polymorphic unification, which can be used to unify data structures…

Programming Languages · Computer Science 2019-01-01 Dmitrii Kosarev , Dmitry Boulytchev

We present a framework for building CLP languages with symbolic constraints based on microKanren, a domain-specific logic language shallowly embedded in Racket. We rely on Racket's macro system to generate a constraint solver and other…

Programming Languages · Computer Science 2017-01-04 Jason Hemann , Daniel P. Friedman

We present an experimental system strongly inspired by miniKanren, implemented on top of the tactics mechanism of the HOL~Light theorem prover. Our tool is at the same time a mechanism for enabling the logic programming style for reasoning…

Programming Languages · Computer Science 2020-07-10 Marco Maggesi , Massimo Nocentini

Concurrent logic programming predates miniKanren, but concurrent implementations of miniKanren have remained largely unexplored. In this work we present a parallel implementation of miniKanren in Go, demonstrating its feasibility and…

Programming Languages · Computer Science 2025-10-07 Sjoerd Dost

We improve the backward compatibility of stableKanren to run miniKanren programs. stableKanren is a miniKanren extension capable of non-monotonic reasoning through stable model semantics. However, standard miniKanren programs that produce…

Programming Languages · Computer Science 2024-08-30 Xiangyu Guo , Ajay Bansal

Synthesizing programs using example input/outputs is a classic problem in artificial intelligence. We present a method for solving Programming By Example (PBE) problems by using a neural model to guide the search of a constraint logic…

Machine Learning · Computer Science 2018-10-29 Lisa Zhang , Gregory Rosenblatt , Ethan Fetaya , Renjie Liao , William E. Byrd , Matthew Might , Raquel Urtasun , Richard Zemel

We present a miniKanren-based type inferencer for an educational programming language with first-class functions, S-expressions, and pattern-matching. The language itself is untyped which adds a certain specificity to the problem and…

Programming Languages · Computer Science 2024-09-02 Eridan Domoratskiy , Dmitry Boulytchev

We present Walrus, a functional relational programming language embedded in Haskell that extends the miniKanren model with type-polymorphic unification, on-demand laziness, and a range of usability features aimed at practical development.…

Programming Languages · Computer Science 2025-10-30 Santiago Cuéllar , Naomi Spargo , Jonathan Daugherty , David Darais

Over the past decade, reactive frameworks and languages have become the dominant programming paradigm in front-end web development. In this paradigm, user actions change application state, and those changes propagate reactively to derived…

Programming Languages · Computer Science 2024-09-02 Evan Donahue

Large Language Models (LLMs) struggle with complex reasoning due to limited diversity and inefficient search. We propose Soft Reasoning, an embedding-based search framework that optimises the embedding of the first token to guide…

Computation and Language · Computer Science 2025-09-16 Qinglin Zhu , Runcong Zhao , Hanqi Yan , Yulan He , Yudong Chen , Lin Gui

We present a study of unification for rational trees in the context of miniKanren. We give the definition of rational trees, specify the unification algorithm and prove some of its properties. We also introduce a number of heuristic…

Logic in Computer Science · Computer Science 2025-10-07 Eridan Domoratskiy , Dmitrii Kosarev , Dmitry Boulytchev
‹ Prev 1 2 3 10 Next ›