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
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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.
D. R. Brough and C. J. logger. Compiling associativity into logic programs. The Journal of Logic Programming, 4 (4): 345–360, December 1987.
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.
T. Clement and K.-K. Lau, editors. Logic Program Synthesis and Transformation, Workshops in Computing, Manchester, July 1991. Springer-Verlag.
J.-P. Delahaye. Sémantique logique et dénotationnelle des interpréteurs Prolog. Informatique Théorique et Applications, 22 (1): 3–42, 1988.
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.
J. Gallagher and M. Bruynooghe. The derivation of an algorithm for program specialisation. New Generation Computing, 9: 305–333, 1991.
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.
C. Lecoutre, P. Devienne, and P. Lebègue. Abstract interpretation and recursive behaviour of logic programs In Clement and Lau [4], pages 147–166.
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.
J. W. Lloyd. Foundations of logic programming. Springer Verlag, 1987.
A. Parrain, P. Devienne, and P. Lebègue. Prolog program transformations and meta-interpreters. In Clement and Lau [4], pages 238–251.
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.
D. Sahlin. An Automatic Partial Evaluator for Full Prolog. PhD thesis, Swedish Institute of Computer Science, Stockholm, March 1991.
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.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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