Logical Loops

  title={Logical Loops},
  author={Joachim Schimpf},
  • J. Schimpf
  • Published in ICLP 29 July 2002
  • Computer Science
We present a concrete proposal for enhancing Prolog and Prolog based Constraint Logic Programming languages with a new language construct, the logical loop. This is a shorthand notation for the most commonly used recursive control structure: the iteration or tail recursion. We argue that this enhancement fits well with the existing language concepts, enhances productivity and maintainability, and helps newcomers to the language by providing concepts that are familiar from many other programming… 

Proceedings of the 13th International Workshop on Logic Programming Environments

This article describes the central parts of the graphical development environment as well as the command line tools which the authors see as vital to the success of the SWI-Prolog system.

Proceedings of the 13 th International Workshop on Logic Programming Environments

This article describes the central parts of the graphical development environment as well as the command line tools which the authors see as vital to the success of the SWI-Prolog system.

Forward Reasoning via Sequential Queries in Logic Programming

A variant of a Prolog interpreter that computes interpolations and the notion of sequential queries is introduced, which allow a combination of both forms of reasoning in Prolog.

ECLiPSe – From LP to CLP

This paper discusses language extensions, implementation aspects, components, and tools that are relevant on the way from Logic Programming to Constraint Logic Programming.

Towards structured state threading in prolog

This work introduces contexts as a consistent mechanism for specifying implicit arguments and its threading in clause goals and proposes a notation and an interpretation for contexts, ranging from single goals to complete programs, to give an intuitive semantics.

The language features and architecture of B-Prolog

  • Neng-Fa Zhou
  • Computer Science
    Theory and Practice of Logic Programming
  • 2011
An overview of the language features and a detailed description of the TOAM Jr. architecture are given, including architectural support for action rules and tabling.

Delimited continuations for prolog

A new Prolog-compatible face is put on this primitive and its semantics are specified by means of a meta-interpreter, establishing the power of delimited continuations in Prolog with several example definitions of high-level language features.

Efficient algebraic effect handlers for Prolog

This work introduces algebraic effect handlers for Prolog, as a high-level and structured way of defining new side-effects in a modular fashion, and illustrates the expressive power of the feature and provides an implementation by means of elaboration into the delimited control primitives.

An Abstract Interpretation Based Combinator for Modelling While Loops in Constraint Programming

This combinator has already demonstrated its utility in constraint-based verification and it is argued that it also facilitates the rapid prototyping of arithmetic constraints (e.g. power, gcd or sum).

Declaratively solving tricky google code jam problems with prolog-based ECLiPSe CLP system

It is claimed that declarative programming with ECLiPSe is better suited for solving certain common kinds of programming problems offered in Google Code Jam than imperative programming.



Arrays, Bounded Quantification and Iteration in Logic and Constraing Logic Programming

  • K. Apt
  • Computer Science
    Sci. Comput. Program.
  • 1996

Prolog with arrays and bounded quantifications

It is shown elsewhere that bounded quantification has a high potential for parallel implementation, and has been found to be at least as efficient as recursion, when applicable.

A C++ implementation of CLP

A C++ library that embodies Constraint Logic Programming (CLP) concepts such as logical variables, incremental constraint satisfaction and backtracking, and which combines Object Oriented Programming (OOP) with CLP.

The Gödel programming language

Logic Programming in Oz with Mozart

This short tutorial explains how to do Prolog-style logic programming in Oz and shows two of the Oz interactive graphic tools, namely the Browser and the Explorer, which are useful for developing and running logic programs.

Logic Programming with Bounded Quantifiers

It is shown that an extension of Horn clause logic programs by bounded quantifiers has several equivalent logical semantics and is efficiently implementable using a variant of SLD-resolution, which is called SLDB-resolution.

Curry: An Integrated Functional Logic Language

ion: A[x/τ ] ` e :: τ ′ A ` \x->e :: τ → τ ′ if τ is a type expression Existential: A[x/τ ] ` e :: Success A ` let x free in e :: Success if τ is a type expression Conditional: A ` e1 :: Bool A ` e2

Extending Godel for Expressing Restricted Quanti cations and Arrays

The expressiveness of the declarative language Godel can be improved by adding to it bounded quanti cations, i.e., quant i cations over nite domains, and arrays, and the extension in this paper allows restricted quantiCations where the domain can be restricted, but not necessarily nite.

Multi-paradigm Logic Programming Higher-order Logic Programming in Prolog