Advertisement

SASLOG: Lazy Evaluation Meets Backtracking

  • Knut Hinkelmann
  • Klaus Nökel
  • Robert Rehbold
Part of the Informatik-Fachberichte book series (INFORMATIK, volume 181)

Abstract

We describe a combined functional / logic programming language SASLOG which contains Turner’s SASL, a fully lazy, higher-order functional language, and pure Prolog as subsets.

Our integration is symmetric, i.e. functional terms can appear in the logic part of the program and v.v. Exploiting the natural correspondence between backtracking and lazy streams yields an elegant solution to the problem of transferring alternative variable bindings to the calling functional part of the program.

We replace the rewriting approach to function evaluation by combinator graph reduction, thereby regaining computational efficiency and the structure sharing properties. Our solution is equally well suited to a fixed combinator set and to a super combinator implementation. In the paper we use Turner’s fixed combinator set.

Keywords

functional programming logic programming lazy evaluation combinators graph reduction streams backtracking set abstraction semantic unification 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Knut Hinkelmann
    • 1
  • Klaus Nökel
    • 2
  • Robert Rehbold
    • 2
  1. 1.FA W UlmUlmGermany
  2. 2.FB InformatikUniversität KaiserslautemKaiserslauternGermany

Personalised recommendations