Results

**11 - 15**of**15**### Imagining CLP(Λ,≡αβ)

, 1995

"... . We study under which conditions the domain of -terms () and the equality theory of the -calculus (j fffi ) form the basis of a usable constraint logic programming language (CLP). The conditions are that the equality theory must contain axiom j, and the formula language must depart from Horn clause ..."

Abstract
- Add to MetaCart

. We study under which conditions the domain of -terms () and the equality theory of the -calculus (j fffi ) form the basis of a usable constraint logic programming language (CLP). The conditions are that the equality theory must contain axiom j, and the formula language must depart from Horn clauses and accept universal quantifications and implications in goals. In short, CLP(, j fffi ) must be close to Prolog. 1 Introduction Logic programming is a programming paradigm in which programs are logical formulas, and executing them amounts to search for a proof. The most famous practical incarnation of logic programming is Prolog, which is based on Horn formulas [31]. The formalism of Horn programs is computationally complete [1, 49], but one has often tried to augment it to gain more flexibility and expressivity. One of these attempts is the paradigm of constraint logic programming [11, 27, 10, 50]. It amounts to replacing unification of first-order terms, considered as a procedure for s...

### I R I S a

, 1994

"... : We study under which conditions the domain of -terms () and the equality theory of the -calculus (j fffi ) form the basis of a usable constraint logic programming language (CLP). The conditions are that the equality theory must contain axiom j, and the formula language must depart from Horn clause ..."

Abstract
- Add to MetaCart

: We study under which conditions the domain of -terms () and the equality theory of the -calculus (j fffi ) form the basis of a usable constraint logic programming language (CLP). The conditions are that the equality theory must contain axiom j, and the formula language must depart from Horn clauses and accept universal quantifications and implications in goals. In short, CLP(, j fffi ) must be close to Prolog. Key-words: CLP, -Calculus, Prolog (R'esum'e : tsvp) ridoux@irisa.fr Centre National de la Recherche Scientifique Institut National de Recherche en Informatique (URA 227) Universite de Rennes 1 -- Insa de Rennes et en Automatique -- unite de recherche de Rennes Imaginons CLP(,j fffi ) R'esum'e : Nous 'etudions sous quelles conditions le domaine des -termes () et la th'eorie de l"egalit'e du -calcul (j fffi ) forment une base utilisable pour un langage de programmation logique par contrainte (CLP). Les conditions sont que la th'eorie de l"egalit'e doit aussi contenir l'axio...

### Logic Programming with Monads and Comprehensions

"... We give a logical reconstruction of all-solution predicates in terms of list comprehensions in Prolog's and we describe a variety of logic programming constructs in terms of monads and monad morphisms. Novel monad structures are described for lazy function lists, clause unfoldings and a monad mo ..."

Abstract
- Add to MetaCart

We give a logical reconstruction of all-solution predicates in terms of list comprehensions in Prolog's and we describe a variety of logic programming constructs in terms of monads and monad morphisms. Novel monad structures are described for lazy function lists, clause unfoldings and a monad morphism based embedding of Prolog in Prolog is given. Keywords: computing paradigms, logic programming, monads, list comprehensions, all solution predicates, Prolog, higher-order unification, lazy function lists. 1 Introduction Monads and comprehensions, have been successfully used in functional programming as a convenient generalization of various structurally similar programming constructs starting with simple ones like list processing and ending with intricate ones like CPS transformations and state transformers. We refer to the work of Philip Wadler [16, 17] for a long list of powerful examples and to Moggi [10] for the categorist sources of the concept of monad. All-solution predic...

### An Explicit Substitution Notation in a λProlog Implementation

- DEPARTMENT OF COMPUTER SCIENCE, UNIVERSITY OF CHICAGO
, 1998

"... This abstract has a pragmatic intent: it explains the use of an explicit substitution notation in an implementation of the higher-order logic programming language λProlog. The particular aspects of this language that are of interest here are its provision of typed lambda terms as a means for ..."

Abstract
- Add to MetaCart

This abstract has a pragmatic intent: it explains the use of an explicit substitution notation in an implementation of the higher-order logic programming language λProlog. The particular aspects of this language that are of interest here are its provision of typed lambda terms as a means for representing objects and of higher-order unification as a tool for probing the structures of these objects. There are many uses for these facilities originating from the fact that they lead to direct and declarative support for a higher-order abstract syntax view of objects such as formulas and programs [MN87, PE88]. Detailed discussions of applications can be found in the literature, e.g. see [Fel93, HM92, NM94, Per91, Pfe88]. Success encountered in these various experiments has driven an effort on our part towards developing a good implementation of the language. An important ingredient of such an implementation is, of course, a sensible treatment of lambda terms. The use that is made of...