| | |
Summary: Godel with User-dened Evaluable Functions
Vision for the Future of Logic Programming: Laying the Foundations of a Modern Successor to Prolog. A
Workshop in Association with the International Logic Programming Symposium. Portland, OR, Dec. 1995,
pages 37{46.
Sergio Antoy David Shapiro Janet Vorvick
Portland State University
Abstract
We report our experience extending a logic programming language with a rst-order functional
component. Functional expressions are evaluated by narrowing and can contain logic variables
for a seamless integration with the logic component of the language. Our experiment shows
that our extension is achievable with a modest eort. It also suggests some changes to the
syntax and semantics of the initial logic component of the language that would ease the use and
implementation of the functional component.
1 Introduction
Logic languages may benet from allowing the denition of functions in addition to predicates
and performing functional computations in addition to logic computations. A signicant problem
presented by the presence of functions in a logic language is this: what shall we do when a function is
applied to arguments that are (or contain) logic variables. A solution to this problem is narrowing.
The focus of this note is on narrowing as the means for the integration of functional and logic
computations. Our specic goals are the application of needed narrowing and the implementation
|