English
Related papers

Related papers: Typing constraint logic programs

200 papers

A central goal of probabilistic programming languages (PPLs) is to separate modelling from inference. However, this goal is hard to achieve in practice. Users are often forced to re-write their models in order to improve efficiency of…

Programming Languages · Computer Science 2022-02-21 Maria I. Gorinova , Andrew D. Gordon , Charles Sutton , Matthijs Vákár

This paper presents preliminary work on a general system for integrating dependent types into substructural type systems such as linear logic and linear type theory. Prior work on this front has generally managed to deliver type systems…

Logic in Computer Science · Computer Science 2024-01-30 C. B. Aberlé

We study here a natural situation when constraint programming can be entirely reduced to rule-based programming. To this end we explain first how one can compute on constraint satisfaction problems using rules represented by simple…

Artificial Intelligence · Computer Science 2007-05-23 Krzysztof R. Apt , Eric Monfroy

We introduce an inductive logic programming approach that combines classical divide-and-conquer search with modern constraint-driven search. Our anytime approach can learn optimal, recursive, and large programs and supports predicate…

Artificial Intelligence · Computer Science 2021-12-08 Andrew Cropper

Structural subtyping and parametric polymorphism provide similar flexibility and reusability to programmers. For example, both features enable the programmer to provide a wider record as an argument to a function that expects a narrower…

Programming Languages · Computer Science 2023-09-12 Wenhao Tang , Daniel Hillerström , James McKinna , Michel Steuwer , Ornela Dardha , Rongxiao Fu , Sam Lindley

Pattern-matching programming is an example of a rule-based programming style developed in functional languages. This programming style is intensively used in dialects of ML but is restricted to algebraic data-types. This restriction limits…

Programming Languages · Computer Science 2009-12-25 Julien Cohen

We introduce a new two-sided type system for verifying the correctness and incorrectness of functional programs with atoms and pattern matching. A key idea in the work is that types should range over sets of normal forms, rather than sets…

Programming Languages · Computer Science 2026-05-11 Celia Mengyue Li , Sophie Pull , Steven Ramsay

We introduce a new compile-time notion of type subsumption based on type simulation. We show how to apply this static subsumption relation to support a more intuitive, object oriented approach to generic programming of reusable, high…

Programming Languages · Computer Science 2011-02-17 Wouter Kuijper , Michael Weber

Structural resolution (or S-resolution) is a newly proposed alternative to SLD-resolution that allows a systematic separation of derivations into term-matching and unification steps. Productive logic programs are those for which…

Logic in Computer Science · Computer Science 2015-06-23 Peng Fu , Ekaterina Komendantskaya

Type-and-effect systems are a widely-used approach to program verification, verifying the result of a computation using types, and the behavior using effects. This paper extends an effect system for verifying temporal, value-dependent…

Programming Languages · Computer Science 2022-07-22 Taro Sekiyama , Hiroshi Unno

We extend a technique called Compiling Control. The technique transforms coroutining logic programs into logic programs that, when executed under the standard left-to-right selection rule (and not using any delay features) have the same…

Programming Languages · Computer Science 2017-08-28 Vincent Nys , Danny De Schreye

In this paper, we focus on the problem of dynamically analysing concurrent software against high-level temporal specifications. Existing techniques for runtime monitoring against such specifications are primarily designed for sequential…

Programming Languages · Computer Science 2026-01-09 Zhendong Ang , Umang Mathur

Verification of higher-order probabilistic programs is a challenging problem. We present a verification method that supports several quantitative properties of higher-order probabilistic programs. Usually, extending verification methods to…

Logic in Computer Science · Computer Science 2024-07-04 Satoshi Kura , Hiroshi Unno

Background and Context. The increasing integration of large language models (LLMs) in computing education presents an emerging challenge in understanding how students use LLMs and craft prompts to solve computational tasks. Prior research…

We present cTI, the first system for universal left-termination inference of logic programs. Termination inference generalizes termination analysis and checking. Traditionally, a termination analyzer tries to prove that a given class of…

Programming Languages · Computer Science 2007-05-23 Fred Mesnard , Roberto Bagnara

We propose a type system to analyze the time consumed by multi-threaded imperative programs with a shared global memory, which delineates a class of safe multi-threaded programs. We demonstrate that a safe multi-threaded program runs in…

Computational Complexity · Computer Science 2012-04-02 Jean-Yves Marion , Romain Péchoux

The Logic Programming through Prolog has been widely used for supply persistence in many systems that need store knowledge. Some implementations of Prolog Programming Language used for supply persistence have bidirectional interfaces with…

Programming Languages · Computer Science 2017-05-02 José E. Zalacain Llanes

We investigate the problem of safety verification of infinite-state parameterized programs that are formed based on a rich class of topologies. We introduce a new proof system, called parametric proof spaces, which exploits the underlying…

Logic in Computer Science · Computer Science 2026-01-27 Ruotong Cheng , Azadeh Farzan

Logic programming languages present clear advantages in terms of declarativeness and conciseness. However, the ideas of logic programming have been met with resistance in other programming communities, and have not generally been adopted by…

Programming Languages · Computer Science 2026-01-08 Ivan Perez , Angel Herranz

Typestates are good at capturing dynamic states of a program as compared to normal types that can capture static structural properties of data and program. Although useful, typestates are suitable only for specifying and verifying program…

Programming Languages · Computer Science 2017-12-27 Ashish Mishra , Deepak Dsouza , Y. N. Srikant