Contributions to functional programming in logic

Date

1990

Authors

Richards, Bradley Eric

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

In logic programming, computations are described as relations between inputs and outputs. This is a powerful paradigm, and well-suited to expressing many computa­tions, but there are classes of problems that can be specified more naturally in the functional programming style. Adding functional programming facilities to Prolog results in a more powerful language, as they allow higher-order functional expres­sions to be evaluated conveniently within the logic programming environment. And, as will be shown in this thesis, the efficiency of functional programming in logic is competitive with other functional evaluation techniques. This thesis presents two methods for evaluating higher-order functional expres­sions in logic. The first uses equational function definitions as in puts to a logic­-based term-rewriting system. The second compiles the same equations into equiv­alent clauses that can be directly executed by Prolog. Programs are developed for translating between A-expressions and equations, for performing rewriting, and for compiling equations into Prolog clauses. In addition, benchmarks are run to compare the evaluation speed of these methods to a pair of Lisp implementations.

Description

Keywords

Citation