Mario Rodríguez-Artalejo

Learn More
Many recent proposals for the integration of functional and logic programming use conditional term rewriting systems (CTRS) as programs and narrowing as goal solving mechanism. This paper speciies a computation strategy for lazy conditional narrowing, based on the idea of transforming patterns into decision trees to control the computation. The speciication(More)
We propose a new approach to declarative programming which integrates the functional and relational paradigms by taking possibly non-deterministic lazy functions as the fundamental notion. Programs in our paradigm are theories in a constructor based conditional rewriting logic. We present proof calculi and a model theory for this logic, and we prove the(More)
The paper investigates the implementation of lazy narrowing in the framework of a graph reduction machine. By extending an appropriate architecture for purely functional languages an abstract graph narrowing machine for a functional logic language is constructed. The machine is capable of performing uni cation and backtracking. The techniques used in(More)
The aim of this paper is to provide theoretical foundations for the declarative debugging of wrong answers in lazy functional logic programming. We rely on a logical framework which formalizes both the intended meaning and the execution model of programs in a simple language which combines the expressivity of pure Prolog and a signi cant subset of Haskell.(More)
According to a well known conception, programs in a declarative programming language can be viewed as theories in some suitable logic, while computations can be viewed as deductions. In our opinion, there is yet no general assent on the logic to be viewed as the foundation of higher order, lazy functional logic languages. In this paper, we argue that a(More)
We describe in this paper a graph narrowing machine that has been designed for the implementation of a higher-order functional logic language. To execute functional logic programs the machine must be capable of performing uniication and backtracking. Some details about the implementation of the new machine on an Occam/transputer system are given.