Abstract
The term meta-programming refers to the ability of writing programs that have other programs as data and exploit their semantics [4]. The choice of logic programming as a basis for meta-programming offers a number of practical and theoretical advantages. One of them is the possibility of tackling critical foundation problems of meta-programming within a framework with a strong theoretical basis. Another is the surprising ease of programming. These reasons motivated an intensive research on meta-programming inside the logic programming community [4],[16],[19],[22],[23].
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
K. R. Apt. From Logic Programming to Prolog. Prentice-Hall Int. Series in Computer Science. Prentice Hall, 1997.
K. R. Apt and D. Pedreschi. Studies in Pure Prolog: Termination. In J. W. Lloyd, editor, Proc. Esprit Symp. on Comp. Logic, pages 150–176. Springer Verlag, 1990.
K. R. Apt and D. Pedreschi. Modular termination proofs for logic and pure prolog programs. In G. Levi, editor, Advances in Logic Programming Theory, pages 183–229. Oxford University Press, 1994.
K. R. Apt and F. Turini, editors. Meta-Logics and Logic Programming. Logic Programming. The MIT Press, 1995.
T. Arts. Automatically proving termination and innermost normalisation of term rewriting systems. PhD thesis, Universiteit Utrecht, 1997.
A. Bossi and N. Cocco. Preserving universal temination through unfold/fold. In G. Levi and M. Rodríguez-Artalejo, editors, Algebraic and Logic Programming, pages 269–286. Springer Verlag, 1994. LNCS 850.
A. Bowles and P. Wilk. Tracing requirements for multi-layered meta-programming. In H. Abramson and M. H. Rogers, editors, Meta-Programming in Logic Programming, pages 205–216. The MIT Press, 1989.
A. Brogi, P. Mancarella, D. Pedreschi, and F. Turini. Composition operators for logic theories. In J. W. Lloyd, editor, Proc. Esprit Symp. on Comp. Logic, pages 117–134. Springer Verlag, 1990.
M. Bruynooghe, D. De Schreye, and B. Martens. A general criterion for avoiding infinite unfolding during partial deduction. New Generation Computing, 11(1):47–79, 1992.
F. Bueno, M. J. García de la Banda, and M. V. Hermenegildo. Effectiveness of global analysis in strict independence-based automatic parallelization. In M. Bruynooghe, editor, Logic Programming, Proc. of the 1994 Int. Symp., pages 320–336. MIT Press, 1994.
M. H. Cheng, M. H. van Emden, and P. A. Strooper. Complete sets of frontiers in logic-based program transformation. In H. Abramson and M. H. Rogers, editors, Meta-Programming in Logic Programming, pages 283–297. The MIT Press, 1989.
D. De Schreye and S. Decorte. Termination of logic programs: The never-ending story. J. Logic Programming, 19/20:199–260, May/July 1994.
S. Decorte and D. De Schreye. Termination analysis: some practical properties of the norm and level mapping space. In J. Jaffar, editor, Proc. of the 1998 Joint Int. Conf. and Symp. on Logic Programming, pages 235–249. MIT Press, June 1998.
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM Transactions on Programming Languages and Systems (TOPLAS), 21(6):1137–1195, November 1999.
N. Dershowitz and Z. Manna. Proving termination with multiset orderings. Communications of the ACM (CACM), 22(8):465–476, August 1979.
P. Hill and J. Gallagher. Meta-programming in logic programming. In D. M. Gabbay, C. Hogger, and J. Robinson, editors, Handbook of logic in Artificial Intelligence and Logic Programming, pages 421–498. Clarendon press, 1998. volume 5. Logic Programming.
P. Hill and J. Lloyd. Analysis of meta-programs. In H. Abramson and M. H. Rogers, editors, Meta-Programming in Logic Programming, pages 23–52. The MIT Press, 1989.
S. Hoarau. Inférer et compiler la terminaison des programmes logiques avec contraintes. PhD thesis, Université de La Réunion, 1999.
G. Levi and D. Ramundo. A formalization of metaprogramming for real. In D. S. Warren, editor, Logic Programming, Proceedings of the Tenth International Conference on Logic Programming, pages 354–373. MIT Press, 1993.
N. Lindenstrauss and Y. Sagiv. Automatic termination analysis of logic programs. n L. Naish, editor, Proc. of the Fourteenth Int. Conf. on Logic Programming, pages 63–77. MIT Press, July 1997.
B. Martens and D. De Schreye. Two semantics for definite meta-programs, using the non-ground representation. In K. Apt and F. Turini, editors, Meta-Logics and Logic Programming, pages 57–81. MIT Press, Cambridge, MA, 1995. ISBN: 0-262-01152-2.
B. Martens and D. De Schreye. Why untyped nonground metaprogramming is not (much of) a problem. Journal of Logic Programming, 22(1):47–99, January 1995.
D. Pedreschi and S. Ruggieri. Verification of meta-interpreters. Journal of Logic and Computation, 7(2):267–303, November 1997.
S. Ruggieri. Verification and validation of logic programs. PhD thesis, Universitá di Pisa, 1999.
A. Serebrenik and D. De Schreye. Non-transformational termination analysis of logic programs, based on general term-orderings. In K.-K. Lau, editor, Logic Based Program Synthesis and Transformation 10th International Workshop, Selected Papers, volume 2042 of Lecture Notes in Computer Science, pages 69–85. Springer Verlag, 2001.
A. Serebrenik and D. De Schreye. On termination of meta-programs. Technical Report CW 306, Departement Computerwetenschappen, K.U.Leuven, Leuven, Belgium, 2001. Available at http://www.cs.kuleuven.ac.be/publicaties/rapporten/CW2001.html.
J.-G. Smaus. Modes and Types in Logic Programming. PhD thesis, University of Kent, 1999.
L. Sterling and E. Shapiro. The Art of Prolog. The MIT Press, 1994.
F. van Harmelen. A classification of meta-level architectures. In H. Abramson and M. H. Rogers, editors, Meta-Programming in Logic Programming, pages 103–122. The MIT Press, 1989.
S. Verbaeten. Static verification of compositionality and termination for logic programming languages. PhD thesis, Department of Computer Science, K.U.Leuven, Leuven, Belgium, June 2000. v+265+xxvii.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Serebrenik, A., De Schreye, D. (2001). On Termination of Meta-programs. In: Nieuwenhuis, R., Voronkov, A. (eds) Logic for Programming, Artificial Intelligence, and Reasoning. LPAR 2001. Lecture Notes in Computer Science(), vol 2250. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45653-8_36
Download citation
DOI: https://doi.org/10.1007/3-540-45653-8_36
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42957-9
Online ISBN: 978-3-540-45653-7
eBook Packages: Springer Book Archive