English
Related papers

Related papers: Designing Walrus: Relational Programming with Rich…

200 papers

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

Relational programming enables program synthesis through a verifier-to-solver approach. An earlier paper introduced a functional conversion that mitigated some of the inherent performance overhead. However, the conversion was inelegant: it…

Programming Languages · Computer Science 2025-11-04 Igor Engel , Ekaterina Verbitskaia

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

Linear type systems have a long and storied history, but not a clear path forward to integrate with existing languages such as OCaml or Haskell. In this paper, we study a linear type system designed with two crucial properties in mind:…

Programming Languages · Computer Science 2017-11-09 Jean-Philippe Bernardy , Mathieu Boespflug , Ryan R. Newton , Simon Peyton Jones , Arnaud Spiwack

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

This paper presents Haskell#, a coordination language targeted at the efficient implementation of parallel scientific applications on loosely coupled parallel architectures, using the functional language Haskell. Examples of applications,…

Distributed, Parallel, and Cluster Computing · Computer Science 2012-08-21 Francisco Heron de Carvalho Junior , Rafael Dueire Lins

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…

Programming Languages · Computer Science 2022-03-07 Dmitry Rozplokhas , 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

Scalable learning for planning research generally involves juggling between different programming languages for handling learning and planning modules effectively. Interpreted languages such as Python are commonly used for learning routines…

Artificial Intelligence · Computer Science 2024-11-04 Dillon Z. Chen

Haskell is a popular choice for hosting deeply embedded languages. A recurring challenge for these embeddings is how to seamlessly integrate user defined algebraic data types. In particular, one important, convenient, and expressive feature…

Programming Languages · Computer Science 2022-08-01 Trevor L. McDonell , Joshua D. Meredith , Gabriele Keller

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

Many Haskell textbooks explain the evaluation of pure functional programs as a process of stepwise rewriting using equations. However, usual implementation techniques perform program transformations that make producing the corresponding…

Programming Languages · Computer Science 2024-07-17 Pedro Vasconcelos , Rodrigo Marques

From the moment of their inception, languages for relational data have been described as sublanguages embedded in a host programming language. Rel is a new relational language whose key design goal is to go beyond this paradigm with…

This work presents a new approach for implementing polymorphism for bottom-up relational languages, without monomorphization. We begin by introducing semiringKanren, a bottom-up weighted relational programming language. We extend this base…

Programming Languages · Computer Science 2026-05-18 Dmitri Volkov

Table learning, which lies at the intersection of machine learning and modern database systems, has recently attracted growing attention. However, existing table learning frameworks typically require explicit data export and extensive…

Databases · Computer Science 2026-02-13 Feiyang Chen , Ken Zhong , Aoqian Zhang , Zheng Wang , Li Pan , Jianhua Li

We propose an amortized analysis that approximates the resource usage of a Haskell expression. Using the plugin API of GHC, we convert the Haskell code into a simplified representation called GHC Core. We then apply a type-based system…

Programming Languages · Computer Science 2019-08-20 Franz Siglmüller

Existing query languages for data discovery exhibit system-driven designs that emphasize database features and functionality over user needs. We propose a re-prioritization of the client through an introduction of a language-driven approach…

Databases · Computer Science 2025-08-12 Andrew Kang , Sainyam Galhotra

Instead of a monolithic programming language trying to cover all features of interest, some programming systems are designed by combining together simpler languages that cooperate to cover the same feature space. This can improve usability…

Programming Languages · Computer Science 2018-04-13 Gabriel Scherer , Max New , Nick Rioux , Amal Ahmed

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
‹ Prev 1 2 3 10 Next ›