FRESH: A Higher-Order Language with Unification and Multiple Results
No Access Until
Permanent Link(s)
Collections
Other Titles
Author(s)
Abstract
This paper presents Fresh, a language that integrates logic programming features into higher-order functional programming. The language incorporates unification, multiple results and a collection construct. Many examples illustrate that these extensions of functional programming are useful. We define an operational semantics along the lines of Plotkin's structural approach. The semantics is of intrinsic interest since it covers backtracking and the collection construct. To illustrate the conceptual similarities and differences between functional and logic programming, we begin with a purely functional core language and add first unification and then backtracking. With each addition we discuss the enhanced eloquence of the language and the concomitant modifications to the semantics.