Skip to main content

Towards Optimization of Full Prolog Programs Guided by Abstract Interpretation

  • Chapter
Book cover Logic Program Synthesis and Transformation

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

  • 47 Accesses

Abstract

In this paper, we propose a partial evaluation system for full Prolog programs based on abstract interpretation. As we deal with non-logical features, we present an elimination method of side-effect predicates preserving the monotonicity of termination, determinism and success set. Abstract interpretation (proposed by [10]) provides to our system information about call and solution patterns arising during resolution, and computes relevant call patterns to have determinism or termination property.

As we add this information directly into programs, we obtain typed programs, and our program transformations can specialise rules. To terminate, we present a clause-indexing method, to deal with our typed logic programs.

partially supported by the G.D.R. Greco de la Programmation

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. N. Azibi. TREQUASI: Un système pour la transformation automatique de programmes Prolog récursifs en quasi-itératifs. PhD thesis, Université de Paris-Sud, December 1987.

    Google Scholar 

  2. D. R. Brough and C. J. logger. Compiling associativity into logic programs. The Journal of Logic Programming, 4 (4): 345–360, December 1987.

    Article  MATH  Google Scholar 

  3. M. Bugliesi and F. Russo. Partial evaluation in prolog: some improvements about cut. In Proceedings of the North-American Conference on Logic Programming, pages 645–660, 1989.

    Google Scholar 

  4. T. Clement and K.-K. Lau, editors. Logic Program Synthesis and Transformation, Workshops in Computing, Manchester, July 1991. Springer-Verlag.

    Google Scholar 

  5. J.-P. Delahaye. Sémantique logique et dénotationnelle des interpréteurs Prolog. Informatique Théorique et Applications, 22 (1): 3–42, 1988.

    MathSciNet  MATH  Google Scholar 

  6. J. Gallagher and M. Bruynooghe. Some low-level source transformations for logic programs. In M. Bruynooghe, editor, Proceedings of the Second Workshop on Meta-Programming in Logic, pages 229–244, Leuven, Belgium, April 1990.

    Google Scholar 

  7. J. Gallagher and M. Bruynooghe. The derivation of an algorithm for program specialisation. New Generation Computing, 9: 305–333, 1991.

    Article  Google Scholar 

  8. T. Kawamura and T. Kanamori. Preservation of stronger equivalence in unfold/fold logic transformation. In Proceedings of the International Conference on Fifth Generation Computer Systems, pages 413–421. ICOT, 1988.

    Google Scholar 

  9. C. Lecoutre, P. Devienne, and P. Lebègue. Abstract interpretation and recursive behaviour of logic programs In Clement and Lau [4], pages 147–166.

    Google Scholar 

  10. C. Lecoutre, P. Devienne, and P. Lebègue. Termination induction by means of an abstract OLDT resolution. In J.-P. Delahaye, P. Devienne, P. Mathieu, and P. Yim, editors, Premières Journées Francophones sur la Programmation en Logique, pages 353–373, Lille, May 1992.

    Google Scholar 

  11. J. W. Lloyd. Foundations of logic programming. Springer Verlag, 1987.

    Google Scholar 

  12. A. Parrain, P. Devienne, and P. Lebègue. Prolog program transformations and meta-interpreters. In Clement and Lau [4], pages 238–251.

    Google Scholar 

  13. M. Proietti and A. Pettorossi. Semantics preserving transformation rules for prolog. In ACM Symposium on Partial Evaluation and Semantics Based Program Manipulation, New-Haven, U.S.A., June 1991.

    Google Scholar 

  14. D. Sahlin. An Automatic Partial Evaluator for Full Prolog. PhD thesis, Swedish Institute of Computer Science, Stockholm, March 1991.

    Google Scholar 

  15. H. Tamaki and T. Sato. Unfold/fold transformation of logic programs. In S. ~. Tärnlund, editor, Second International Logic Programming Conference, pages 127–138, Uppsala, 1984.

    Google Scholar 

  16. H. Tamaki and T. Sato. OLD resolution with tabulation. In E. Shapiro, editor, Proceedings of the Third International Conference on Logic Programming, Lecture Notes in Computer Science, pages 84–98, London, 1986. Springer-Verlag.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag London

About this chapter

Cite this chapter

Parrain, A., Devienne, P., Lebègue, P. (1993). Towards Optimization of Full Prolog Programs Guided by Abstract Interpretation. In: Lau, KK., Clement, T.P. (eds) Logic Program Synthesis and Transformation. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3560-9_16

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3560-9_16

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19806-2

  • Online ISBN: 978-1-4471-3560-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics