Skip to main content

Design of a compiler for lazy pattern driven narrowing

  • Conference paper
  • First Online:
Recent Trends in Data Type Specification (ADT 1990)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 534))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. L. Augustsson: Compiling Lazy Functional Languages, Part 2. PhD thesis, Chalmers Tekniska Högskola, Göteborg, Sweden, 1987

    Google Scholar 

  2. 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

    Google Scholar 

  3. 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

    Google Scholar 

  4. 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

    Google Scholar 

  5. 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

    Google Scholar 

  6. M.Hanus: Compiling Logic Programs with Equality. Springer, LNCS 456, 1990

    Google Scholar 

  7. T. Hickey,S. Mudambi: Global Compilation of Prolog. Journal of Logic Programming 1989:7:192–230, 1989

    Google Scholar 

  8. S.Hölldobler: Functional Logic Programming, Springer, LNCS 353, 1989

    Google Scholar 

  9. A.Geser,H.Hussmann: Experiences with the RAP system — a specification interpreter combining term rewriting and resolution. Springer, LNCS 213, 1986

    Google Scholar 

  10. A. Josephson,N. Dershowitz: An Implementation of Narrowing. Journal of Logic Programming 6,1989:57–77, 1989

    MathSciNet  Google Scholar 

  11. T. Johnsson: Compiling Lazy Functional Languages, Part 1 PhD thesis, Chalmers Tekniska Högskola, Göteborg, Sweden, 1987

    Google Scholar 

  12. A.Mück: Compilation of Narrowing. Springer, LNCS 456, August 1990

    Google Scholar 

  13. J.J.Moreno-Navarro,H.Kuchen,R.Loogen: Lazy Narrowing in a Graph Machine. Springer, LNCS 463, 1990

    Google Scholar 

  14. P.Padawitz: Strategy-Controlled Reduction and Narrowing. Proceedings of the Second Conference on Rewriting Techniques and Applications, Springer LNCS 256, Bordeaux (France), 1987

    Google Scholar 

  15. P.Padawitz: Computing in Horn Clause Theories. Springer EATCS Monographs on Theor. Com. Sci., 1988

    Google Scholar 

  16. U.S.Reddy: Functional Logic Languages. Workshop on Graph Reduction, Springer LNCS 279,1987

    Google Scholar 

  17. 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

    Google Scholar 

  18. H.Sondergaard: Semanic-Based Analysis and Transformations of Logic Programs. Technical Report 89/21, University of Melbourne,1989

    Google Scholar 

  19. D.H.D.Warren: An Abstract Prolog Instruction Set, SRI International, Technical Note 309, October 1983

    Google Scholar 

  20. 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

    Google Scholar 

  21. D. Wolz: Lazy Evaluation of Functional Logic Languages. Technical Report, Technical University Berlin, to appear,1991

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

H. Ehrig K. P. Jantke F. Orejas H. Reichel

Rights and permissions

Reprints 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

Publish with us

Policies and ethics