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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1988 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hinkelmann, K., Nökel, K., Rehbold, R. (1988). SASLOG: Lazy Evaluation Meets Backtracking. In: Hoeppner, W. (eds) Künstliche Intelligenz. Informatik-Fachberichte, vol 181. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-74064-0_27
Download citation
DOI: https://doi.org/10.1007/978-3-642-74064-0_27
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-50293-7
Online ISBN: 978-3-642-74064-0
eBook Packages: Springer Book Archive