English
Related papers

Related papers: Logic Programming with Macro Connectives

200 papers

Programming in Prolog is hard for programmers that are used to procedural coding. In this manual the method of drawing search trees is introduced with the aim to get a better understanding of how Prolog works. After giving a first example…

Programming Languages · Computer Science 2020-01-23 Johan Bos

When working on intelligent tutor systems designed for mathematics education and its specificities, an interesting objective is to provide relevant help to the students by anticipating their next steps. This can only be done by knowing,…

Artificial Intelligence · Computer Science 2020-03-02 Ludovic Font , Sébastien Cyr , Philippe R. Richard , Michel Gagnon

A major challenge in inductive logic programming is learning big rules. To address this challenge, we introduce an approach where we join small rules to learn big rules. We implement our approach in a constraint-driven system and use…

Machine Learning · Computer Science 2024-01-30 Céline Hocquette , Andreas Niskanen , Rolf Morel , Matti Järvisalo , Andrew Cropper

We have developed a Prolog visualization system that is intended to support Prolog programming education. The system uses Logichart diagrams to visualize Prolog programs. The Logichart diagram is designed to visualize the Prolog execution…

Programming Languages · Computer Science 2009-03-25 Yoshihiro Adachi

In many modern LLM applications, such as retrieval augmented generation, prompts have become programs themselves. In these settings, prompt programs are repeatedly called with different user queries or data instances. A big practical…

Computation and Language · Computer Science 2024-07-01 Tobias Schnabel , Jennifer Neville

The recent rapid advance of AI has been driven largely by innovations in neural network architectures. A concomitant concern is how to understand these resulting systems. In this paper, we propose a tool to assist in both the design of…

Artificial Intelligence · Computer Science 2023-12-05 Alexander Thomson , David Page

The field of Distributed Constraint Optimization Problems (DCOPs) has gained momentum, thanks to its suitability in capturing complex problems (e.g., multi-agent coordination and resource allocation problems) that are naturally distributed…

Multiagent Systems · Computer Science 2014-05-16 Tiep Le , Enrico Pontelli , Tran Cao Son , William Yeoh

Memory profiling captures programs' dynamic memory behavior, assisting programmers in debugging, tuning, and enabling advanced compiler optimizations like speculation-based automatic parallelization. As each use case demands its unique…

Performance · Computer Science 2023-11-07 Ziyang Xu , Yebin Chon , Yian Su , Zujun Tan , Sotiris Apostolakis , Simone Campanoni , David I. August

We propose a special-purpose class of compression algorithms for efficient compression of Prolog programs. It is a dictionary-based compression method, specially designed for the compression of Prolog code, and therefore we name it PCA…

Programming Languages · Computer Science 2007-05-23 Alin Suciu , Kalman Pusztai

Macroprogramming refers to the theory and practice of conveniently expressing the macro(scopic) behaviour of a system using a single program. Macroprogramming approaches are motivated by the need of effectively capturing global/system-level…

Programming Languages · Computer Science 2025-11-19 Roberto Casadei

A technique used to accelerate an adaptive optics simulation platform using reconfigurable logic is described. The performance of parts of this simulation have been improved by up to 600 times (reducing computation times by this factor) by…

Astrophysics · Physics 2009-11-11 Alastair Basden

Tabling is probably the most widely studied extension of Prolog. But despite its importance and practicality, tabling is not implemented by most Prolog systems. Existing approaches require substantial changes to the Prolog engine, which is…

Programming Languages · Computer Science 2020-02-19 Benoit Desouter , Tom Schrijvers , Marko van Dooren

This document introduces PlDoc, a literate programming system for Prolog. Starting point for PlDoc was minimal distraction from the programming task and maximal immediate reward, attempting to seduce the programmer to use the system.…

Programming Languages · Computer Science 2007-11-06 Jan Wielemaker , Anjo Anjewierden

Code generation remains a challenging task that requires precise and structured reasoning. Existing Test Time Scaling (TTS) methods, including structured tree search, have made progress in exploring reasoning paths but still face two major…

Computation and Language · Computer Science 2026-02-17 Jizheng Chen , Weiming Zhang , Xinyi Dai , Weiwen Liu , Kounianhua Du , Yasheng Wang , Ruiming Tang , Yong Yu , Weinan Zhang

As real logic programmers normally use cut (!), an effective learning procedure for logic programs should be able to deal with it. Because the cut predicate has only a procedural meaning, clauses containing cut cannot be learned using an…

Artificial Intelligence · Computer Science 2008-02-03 F. Bergadano , D. Gunetti , U. Trinchero

Thinking Large Language Models (LLMs) generate explicit intermediate reasoning traces before final answers, potentially improving transparency, interpretability, and solution accuracy for code generation. However, the quality of these…

Artificial Intelligence · Computer Science 2025-11-11 Haoran Xue , Gias Uddin , Song Wang

A compiler processes the code written in a high level language and produces machine executable code. The compiler writers often face the challenge of keeping the compilation times reasonable. That is because aggressive optimization passes…

Programming Languages · Computer Science 2019-05-30 Sanket Tavarageri

In this paper, we compose six different Python and Prolog VMs into 4 pairwise compositions: one using C interpreters; one running on the JVM; one using meta-tracing interpreters; and one using a C interpreter and a meta-tracing interpreter.…

Programming Languages · Computer Science 2017-03-02 Edd Barrett , Carl Friedrich Bolz , Laurence Tratt

Looping is one of the fundamental logical instructions used for repeating a block of code. It is used in programs across all programming languages. Traditionally, in languages like C, the for loop is used extensively for repeated execution…

Programming Languages · Computer Science 2014-10-15 Rishabh Jain , Sakshi Gupta

In-memory computing (IMC) with single instruction multiple data (SIMD) setup enables memory to perform operations on the stored data in parallel to achieve high throughput and energy saving. To instruct a SIMD IMC hardware to compute a…

Emerging Technologies · Computer Science 2024-12-04 Xingyue Qian , Chenyang Lv , Zhezhi He , Weikang Qian