Skip to main content

Lazy narrowing in a graph machine

  • Conference paper
  • First Online:
Algebraic and Logic Programming (ALP 1990)

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

Included in the following conference series:

Abstract

The paper investigates the implementation of lazy narrowing in the framework of a graph reduction machine. By extending an appropriate architecture for purely functional languages an abstract graph narrowing machine for a functional logic language is constructed. The machine is capable of performing unification and backtracking. The techniques used in functional languages to cope with lazy evaluation are not directly applicable, but must be modified due to the logic component of the implemented language. A prototype implementation of the new machine has been developed.

This work has been partially supported by the german-spanish cooperation action HA 24/B and by the spanish projects PRONTIC TIC 89/0104 and Precompetitivo UPM A-90002001/44.

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. G. P. Balboni, P. G. Bosco, C. Cecchi, R. Melen, C. Moiso, G. Sofi: Implementation of a Parallel Logic Plus Functional Language, in: P. Treleaven (ed.), Parallel Computers: Object Oriented, Functional and Logic, Wiley 1989, 175–214.

    Google Scholar 

  2. M. Bellia, G. Levi: The Relation between Logic and Functional Languages, Journal of Logic Prog., Vol.3, 1986, 217–236.

    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. Conf. on Logic Prog., MIT Press 1989, 318–333.

    Google Scholar 

  4. P. G. Bosco, E. Giovannetti: IDEAL: An IDeal DEductive Applicative Language, Proc. IEEE Symp. on Logic Prog., IEEE Comp. Soc. Press 1986, 89–94.

    Google Scholar 

  5. R. Echahed: On completeness of narrowing strategies, CAAP 1988, LNCS 299, Springer 1988, 89–101.

    Google Scholar 

  6. J. Fairbairn, S. C. Wray: TIM: A Simple, Lazy Abstract Machine to Execute Supercombinators, Conf. on Func. Prog. and Comp. Architec., LNCS 274, Springer 1987, 34–59.

    Google Scholar 

  7. L. Fribourg: SLOG: A Logic Programming Language Interpreter Based on Clausal Superposition and Rewriting, Proc. Symp. on Logic Prog., IEEE Comp. Soc. Press 1985, 172–184.

    Google Scholar 

  8. D. de Frutos-Escrig, M. I. Fernández-Camacho: On Narrowing Strategies for Partial Non-Strict Functions, 1990 (submitted for publication).

    Google Scholar 

  9. E. Giovannetti, G. Levi, C. Moiso, C. Palamidessi: Kernel LEAF: A Logic plus Functional Language, to appear in JCSS.

    Google Scholar 

  10. D. DeGroot, G. Lindstrom: Logic Programming: Functions, Relations, Equations, Prentice Hall, 1986.

    Google Scholar 

  11. M. Hanus: Compiling Logic Programs with Equality, to appear in Proc. Workshop on Prog. Language Implementation and Logic Prog., Linköping, Sweden, LNCS, Springer 1990.

    Google Scholar 

  12. A. Josephson, N. Dershowitz: An Implementation of Narrowing, Journal of Logic Prog. 6, 1989, 55–77.

    Google Scholar 

  13. H. Kuchen, R. Loogen, J. J. Moreno-Navarro, M. Rodríguez-Artalejo: Graph-Based Implementation of a Functional Logic Language, European Symp. on Prog. (ESOP) 1990, LNCS 432, Springer 1990, 271–290.

    Google Scholar 

  14. G. Lindstrom: Implementing Logical Variables on a Graph Reduction Architecture, Workshop on Graph Reduction, LNCS 279, Springer 1987, 328–400.

    Google Scholar 

  15. R. Loogen, H. Kuchen, K. Indermark, W. Damm: Distributed Implementation of Programmed Graph Reduction, Conf. on Parallel Architectures and Languages Europe (PARLE) 1989, LNCS 365, Springer 1989, 136–157.

    Google Scholar 

  16. J. J. Moreno-Navarro, H. Kuchen, R. Loogen, M. Rodríguez-Artalejo: Lazy Narrowing in a Graph Machine, Aachener Informatik-Berichte Nr. 90-11, RWTH Aachen, 1990.

    Google Scholar 

  17. J. J. Moreno-Navarro, M. Rodríguez-Artalejo: BABEL: A functional and logic programming language based on constructor discipline and narrowing, Conf. on Algebraic and Logic Prog., LNCS 343, Springer 1989, 223–232.

    Google Scholar 

  18. J. J. Moreno-Navarro, M. Rodríguez-Artalejo: Logic Programming with Functions and Predicates: The Language BABEL, Technical Report DIA/89/3, Universidad Complutense, Madrid 1989, to appear in the J. of Logic Prog.

    Google Scholar 

  19. J. J. Moreno-Navarro: Diseño, semántica e implementación de BABEL, un lenguaje que integra la programmación functional y lógica, Ph.D. Thesis, Facultad de Informática UPM, Madrid, July 1989, (in spanish).

    Google Scholar 

  20. A. Mück: Compilation of Narrowing, to appear in Proc. Workshop on Prog. Language Implementation and Logic Prog., Linköping, Sweden, LNCS, Springer 1990.

    Google Scholar 

  21. U. S. Reddy: Narrowing as the Operational Semantics of Functional Languages, IEEE Int. Symp. on Logic Prog., IEEE Computer Society Press 1985, 138–151.

    Google Scholar 

  22. U. S. Reddy: Functional Logic Languages, Part I, Workshop on Graph Reduction, LNCS 279, Springer 1987, 401–425.

    Google Scholar 

  23. D. H. D. Warren: An Abstract PROLOG Instruction Set, Technical Note 309, SRI International, Menlo Park, California, 1983.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hélène Kirchner Wolfgang Wechler

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

José Moreno-Navarro, J., Kuchen, H., Loogen, R. (1990). Lazy narrowing in a graph machine. In: Kirchner, H., Wechler, W. (eds) Algebraic and Logic Programming. ALP 1990. Lecture Notes in Computer Science, vol 463. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-53162-9_47

Download citation

  • DOI: https://doi.org/10.1007/3-540-53162-9_47

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-53162-3

  • Online ISBN: 978-3-540-46738-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics