English
Related papers

Related papers: On the Implementation of GNU Prolog

200 papers

Tracers provide users with useful information about program executions. In this article, we propose a ``tracer driver''. From a single tracer, it provides a powerful front-end enabling multiple dynamic analysis tools to be easily…

Software Engineering · Computer Science 2008-12-18 Ludovic Langevine , Mireille Ducasse

Logic programming such as Prolog is often sequential and slow because each execution step processes only a single, $micro$ connective. To fix this problem, we propose to use $macro$ connectives as the means of improving both readability and…

Programming Languages · Computer Science 2018-05-08 Keehang Kwon

A logic program is an executable specification. For example, merge sort in pure Prolog is a logical formula, yet shows creditable performance on long linked lists. But such executable specifications are a compromise: the logic is distorted…

Programming Languages · Computer Science 2015-09-29 M. H. van Emden

System programming languages are typically compiled in a linear pipeline process, which is a completely opaque and isolated to end-users. This limits the possibilities of performing meta-programming in the same language and environment, and…

Programming Languages · Computer Science 2023-09-28 Ronie Salgado

Programming a parallel computing system that consists of several thousands or even up to a million message passing processing units may ask for a language that supports waiting for and sending messages over hardware channels. As programs…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-09-17 Oskar Schirmer

Several Prolog implementations include a facility for tabling, an alternative resolution strategy which uses memoisation to avoid redundant duplication of computations. Until relatively recently, tabling has required either low-level…

Programming Languages · Computer Science 2017-08-28 Samer Abdallah

Concolic testing mixes symbolic and concrete execution to generate test cases covering paths effectively. Its benefits have been demonstrated for more than 15 years to test imperative programs. Other programming paradigms, like logic…

Logic in Computer Science · Computer Science 2020-02-18 Sophie Fortz , Fred Mesnard , Etienne Payet , Gilles Perrouin , Wim Vanhoof , German Vidal

In computer science, a preprocessor (or macro processor) is a tool that programatically alters its input, typically on the basis of inline annotations, to produce data that serves as input for another program. Preprocessors are used in…

Programming Languages · Computer Science 2020-08-04 Tristan Miller , Denis Auroux

A range of methodologies and techniques are available to guide the design and implementation of language extensions and domain-specific languages. A simple yet powerful technique is based on source-to-source transformations interleaved…

Programming Languages · Computer Science 2013-02-01 Zoé Drey , José F. Morales , Manuel V. Hermenegildo

Following the ideas of the Remote Procedure Call model, we have developed a logic programming counterpart, naturally called Prolog Remote Predicate Call (Prolog RPC). The Prolog RPC protocol facilitates the integration of Prolog code in…

Networking and Internet Architecture · Computer Science 2007-05-23 Alin Suciu , Kalman Pusztai , Andrei Diaconu

This paper presents Ellogon, a multi-lingual, cross-platform, general-purpose text engineering environment. Ellogon was designed in order to aid both researchers in natural language processing, as well as companies that produce language…

Computation and Language · Computer Science 2007-05-23 Georgios Petasis , Vangelis Karkaletsis , Georgios Paliouras , Ion Androutsopoulos , Constantine D. Spyropoulos

This short paper describes a simple and intuitive Prolog program, a metainterpreter, that computes the bottom up meaning of a simple positive Horn clause definition. It involves a simple transformation of the object program rules into…

Programming Languages · Computer Science 2025-02-14 David S. Warren

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

Prompt optimization has become crucial for enhancing the performance of large language models (LLMs) across a broad range of tasks. Although many research papers demonstrate its effectiveness, practical adoption is hindered because existing…

Computation and Language · Computer Science 2026-02-24 Tom Zehle , Timo Heiß , Moritz Schlager , Matthias Aßenmacher , Matthias Feurer

This is a tutorial on logic programming and Prolog appropriate for a course on programming languages for students familiar with imperative programming.

Programming Languages · Computer Science 2007-05-23 Krzysztof R. Apt

It is next to impossible to develop real-life applications in just pure Prolog. With XPCE we realised a mechanism for integrating Prolog with an external object-oriented system that turns this OO system into a natural extension to Prolog.…

Software Engineering · Computer Science 2007-05-23 Jan Wielemaker , Anjo Anjewierden

The anticipated positive social impact of regulatory processes requires both the accuracy and efficiency of their application. Modern artificial intelligence technologies, including natural language processing and machine-assisted…

Transforming XML documents with conventional XML languages, like XSL-T, is disadvantageous because there is too lax abstraction on the target language and it is rather difficult to recognize rule-oriented transformations. Prolog as a…

Logic in Computer Science · Computer Science 2019-06-21 René Haberland , Igor L. Bratchikov

B-Prolog is a high-performance implementation of the standard Prolog language with several extensions including matching clauses, action rules for event handling, finite-domain constraint solving, arrays and hash tables, declarative loop…

Programming Languages · Computer Science 2011-03-07 Neng-Fa Zhou

Prolog was once the main host for implementing constraint solvers. It seems that it is no longer so. To be useful, constraint solvers have to be integrable into industrial applications written in imperative or object-oriented languages; to…

Programming Languages · Computer Science 2007-05-23 Frederic Goualard