Skip to main content

Lazy narrowing with parametric order sorted types

  • Types
  • Conference paper
  • First Online:
Algebraic and Logic Programming (ALP 1997, HOA 1997)

Abstract

Recently, a model theoretic semantics for lazy functional programming combining parametric and inclusion polymorphism has been proposed in [2]. The aim of the present work is to provide the previous one with the incorporation of a typed lazy narrowing calculus for goal solving which combines lazy unification, sharing and type checking at run-time. Furthermore, we state soundness and completeness results of the goal solving procedure w.r.t. the typed rewriting calculi presented in [2] which were proved to be also sound and complete w.r.t. the notion of model in [2]. Thus, all theoretical results described there are also preserved in this framework.

This research has been partially supported by the the Spanish National Project TIC95-0433-C03-01 “CPD”.

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. J.M. Almendros-Jiménez. Type Inference and Checking for Polymorphic Order-Sorted Typed Functional Logic Programs, Procs. Joint Conference in Declarative Programming APPIA-GULP-PRODE'96, pp. 439–450, 1996.

    Google Scholar 

  2. J.M. Almendros-Jiménez, A. Gavilanes-Franco, A. Gil-Luezas. Algebraic Semantics for Functional Logic Programs with Polymorphic Order-Sorted Types, Procs. ALP'96, Springer LNCS 1139, pp. 299–313, 1996.

    Google Scholar 

  3. J.M.Almendros-Jiménez, A. Gil-Luezas. Lazy Narrowing with Polymorphic Order-Sorted Types (Extended Version), Technical Report 30/96 DIA. Universidad Complutense. Madrid. 1996. Available in http://mozart.mat.ucm.es.

    Google Scholar 

  4. C. Beierle. Type Inferencing for Polymorphic Order-Sorted Logic Programs, Procs. ICLP'95, The MIT Press, pp. 765–779, 1995.

    Google Scholar 

  5. C.Beierle. Concepts, Implementation and Applications of a Typed Logic Programming Language, Logic Programming: Formal Methods and Practical Applications. C. Beierle and L. Phimer Eds. Elsevier Science, pp. 139–167, 1995.

    Google Scholar 

  6. P.H. Cheong. L. Fribourg. Implementation of Narrowing: The Prolog-Based Approach, In K.R. Apt, J.W. Bakker, J.J.M.M. Rutten, Eds. Logic Programming languages: Constraints, Functions and Objects. pp. 1–20. The MIT Press. 1993.

    Google Scholar 

  7. N. Dershowitz, A. Manna. Proving Termination with Multisets Orderings, Communications of the ACM 22(8), pp. 465–476, 1979.

    Google Scholar 

  8. Y. Fuh, P. Mishra. Type Inference with Subtypes, Theoretical Computer Science 73, pp. 155–175, 1990.

    Google Scholar 

  9. J.A. Goguen, J. Meseguer. Order Sorted Algebra I: Equational deduction for Multiple Inheritance, Overloading, Exceptions and Partial Operations, Theoretical Computer Science 105, pp. 217–273, 1992.

    Google Scholar 

  10. J.C. González-Moreno, T. Hortalá-González, M. Rodriguez Artalejo. On the Completeness of Narrowing as the Operational Semantics of Functional Logic Programming, Procs. CSL'92, Springer LNCS 702, pp. 216–230, 1993.

    Google Scholar 

  11. J.C. Gonzĺez-Moreno, T. Hortalá-González, F. López-Fraguas, M. Rodríguez-Artalejo. ARewriting Logic for Declarative Programming, Procs. ESOP'96, Springer LNCS 1058, pp. 156–172, 1996.

    Google Scholar 

  12. M. Hanus. A Functional and Logic Language with Polymorphic Types, Procs. Int. Symp. on Design and Implementation of Symbolic Computation Systems, Springer LNCS 429, pp. 215–224, 1990.

    Google Scholar 

  13. M. Hanus. Parametric Order-Sorted Types in Logic Programming, Procs. TAPSOFT'91, Springer LNCS 494, pp. 181–200, 1991.

    Google Scholar 

  14. M. Hanus. The Integration of Functions into Logic Programming: A Survey, Journal of Logic Programming (19,20), Special issue “Ten Years of Logic Programming”, pp. 583–628, 1994.

    Google Scholar 

  15. P.M. Hill, R.W. Topor. A Semantics for Typed Logic Programming, Chapter 1, Types in Logic Programming, Logic Programming Series, Frank Pfenning Editor, The MIT Press, pp. 1–58, 1992.

    Google Scholar 

  16. R. Milner. A Theory of Type Polymorphism in Programming, Journal of Computer and System Sciences, 17(3), pp. 348–375, 1978.

    Google Scholar 

  17. Logic Programming with Functions and Predicates: The Language BABEL, Journal of Logic Programming 12, pp. 191–223, 1992.

    Google Scholar 

  18. A. Mycroft, R.A. O'Keefe. A Polymorphic Type System for Prolog, Artificial Intelligence 23, pp. 295–307, 1984.

    Google Scholar 

  19. A. Middeldorp, S. Okui. Deterministic Lazy Narrowing, Procs. Fuji International Workshop on Functional and Logic Programming, World Scientific, pp. 104–118, 1995.

    Google Scholar 

  20. K. Nakahara, A. Middeldorp, T. Ida. A Complete Narrowing Calculus for Higher-Order Functional Logic Programming, Procs. PLILP'95, Springer LNCS 982, pp. 97–114, 1995.

    Google Scholar 

  21. G.S. Smith. Principal Type Schemes for Functional Programs with Overloading and Subtyping, Science of Computer Programming 23, pp. 197–226, 1994.

    Google Scholar 

  22. G. Smolka. Logic Programming over Polymorphically Order-Sorted Types, PhD thesis, Universität Kaiserslautern, Germany, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Michael Hanus Jan Heering Karl Meinke

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Almendros-Jiménez, J.M., Gil-Luezas, A. (1997). Lazy narrowing with parametric order sorted types. In: Hanus, M., Heering, J., Meinke, K. (eds) Algebraic and Logic Programming. ALP HOA 1997 1997. Lecture Notes in Computer Science, vol 1298. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0027009

Download citation

  • DOI: https://doi.org/10.1007/BFb0027009

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63459-1

  • Online ISBN: 978-3-540-69555-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics