Abstract
This paper describes the implementation of lazy pattern driven narrowing by extending an abstract machine for lazy rewriting to perform unification and backtracking.
The abstract machine LANAM is based on implementation methods for functional and logic languages like LML and PROLOG.
The approach leads to an efficient unification method for an equation theory and can also be used as a basis for efficient execution of functional logic programs.
We give an abstract definition of the implemented algorithm, describe the architecture of the abstract machine and discuss performance and implementation issues.
Preview
Unable to display preview. Download preview PDF.
References
L. Augustsson: Compiling Lazy Functional Languages, Part 2. PhD thesis, Chalmers Tekniska Högskola, Göteborg, Sweden, 1987
G.P.Balboni,P.G.Bosco,C.Cecchi,R.Melen,C.Moiso,G.Soft: Implementation of a Parallel Logic Plus Functional Language. P.Treleaven(ed.), Parallel Computers: Object Oriented, Functional and Logic 175–214, Wiley, 1989
P.G.Bosco, C.Cecchi, C.Moiso: An extension of WAM for K-LEAF: a WAM-based compilation of conditional narrowing. Proc. 6. International Conference on Logic Programming(Lisboa), MIT Press,1989
Peter van Eijk, Henk Eertink: Design of the LOTOSPHERE Symbolic LOTOS Simulator. Proceedings of the third symposium on Formal description techniques, (ed) Enrique Vazquez, 1990
J. Fairbairn; S. C. Wray: Tim: A Simple, Lazy Abstract Machine to Execute Supercombinators. Functional Programming Languages and Computer Architecture, Springer, Lecture Notes in Computer Science 274, 1987
M.Hanus: Compiling Logic Programs with Equality. Springer, LNCS 456, 1990
T. Hickey,S. Mudambi: Global Compilation of Prolog. Journal of Logic Programming 1989:7:192–230, 1989
S.Hölldobler: Functional Logic Programming, Springer, LNCS 353, 1989
A.Geser,H.Hussmann: Experiences with the RAP system — a specification interpreter combining term rewriting and resolution. Springer, LNCS 213, 1986
A. Josephson,N. Dershowitz: An Implementation of Narrowing. Journal of Logic Programming 6,1989:57–77, 1989
T. Johnsson: Compiling Lazy Functional Languages, Part 1 PhD thesis, Chalmers Tekniska Högskola, Göteborg, Sweden, 1987
A.Mück: Compilation of Narrowing. Springer, LNCS 456, August 1990
J.J.Moreno-Navarro,H.Kuchen,R.Loogen: Lazy Narrowing in a Graph Machine. Springer, LNCS 463, 1990
P.Padawitz: Strategy-Controlled Reduction and Narrowing. Proceedings of the Second Conference on Rewriting Techniques and Applications, Springer LNCS 256, Bordeaux (France), 1987
P.Padawitz: Computing in Horn Clause Theories. Springer EATCS Monographs on Theor. Com. Sci., 1988
U.S.Reddy: Functional Logic Languages. Workshop on Graph Reduction, Springer LNCS 279,1987
P.L van Roy: Can Logic Programming Execute as Fast as Imperative Programming. Report No. UCB/CSD 90/600, University of California Berkeley, December 1990
H.Sondergaard: Semanic-Based Analysis and Transformations of Logic Programs. Technical Report 89/21, University of Melbourne,1989
D.H.D.Warren: An Abstract Prolog Instruction Set, SRI International, Technical Note 309, October 1983
D. Wolz, P.Boehm: Compilation of LOTOS Data Type Specifications. Proc. of the IFIP TC6-WG 6.1, 9th International Symposium on Protocol Specification, Testing and Verification (ed. E.brinksma,G.Scollo,C.A. Vissers, 1989
D. Wolz: Lazy Evaluation of Functional Logic Languages. Technical Report, Technical University Berlin, to appear,1991
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wolz, D. (1991). Design of a compiler for lazy pattern driven narrowing. In: Ehrig, H., Jantke, K.P., Orejas, F., Reichel, H. (eds) Recent Trends in Data Type Specification. ADT 1990. Lecture Notes in Computer Science, vol 534. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54496-8_19
Download citation
DOI: https://doi.org/10.1007/3-540-54496-8_19
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54496-8
Online ISBN: 978-3-540-38416-8
eBook Packages: Springer Book Archive