On Termination of Meta-Programs

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].

[1]  Jan-Georg Smaus Modes and types in logic programming , 1999 .

[2]  Robert A. Kowalski,et al.  Problems and Promises of Computational Logic , 1990 .

[3]  Dino Pedreschi,et al.  Studies in Pure Prolog: Termination , 1990 .

[4]  Chin Soon Lee Program Termination Analysis in Polynomial Time , 2002, GPCE.

[5]  Lutz Plümer Termination Proofs for Logic Programs , 1990, Lecture Notes in Computer Science.

[6]  P. M. Hill,et al.  Meta-Programming in Logic Progamming , 1998 .

[7]  Danny De Schreye,et al.  Two semantics for definite meta-programs, using the non-ground representation , 1995 .

[8]  D. Pedreschi,et al.  Composition Operators for Logic Theories , 1990 .

[9]  Dino Pedreschi,et al.  Proving Termination of General Prolog Programs , 1991, TACS.

[10]  Yehoshua Sagiv,et al.  Automatic Termination Analysis of Logic Programs , 1997, ICLP.

[11]  Gerda Janssens,et al.  Deriving Descriptions of Possible Values of Program Variables by Means of Abstract Interpretation , 1990, J. Log. Program..

[12]  T. Arts Automatically proving termination and innermost normalisation of term rewriting systems , 2001 .

[13]  Franco Turini,et al.  Meta-logics and logic programming , 1995 .

[14]  Jürgen Giesl,et al.  Automatically Proving Termination Where Simplification Orderings Fail , 1997, TAPSOFT.

[15]  K. Gödel Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme I , 1931 .

[16]  Christophe Verschaetse Static termination analysis for definite Horn clause programs , 1992 .

[17]  Gerda Janssens,et al.  Abstracting Numerical Values in CLP(H, N) , 1994, PLILP.

[18]  Robert A. Kowalski,et al.  Logic for problem solving , 1982, The computer science library : Artificial intelligence series.

[19]  Maurice Bruynooghe,et al.  A Framework for Analyzing the Termination of Definite Logic Programs with respect to Call Patterns , 1992, FGCS.

[20]  Danny De Schreye,et al.  Constraint-based termination analysis of logic programs , 1999, TOPL.

[21]  Leon Sterling,et al.  The Art of Prolog , 1987, IEEE Expert.

[22]  Frank van Harmelen A Classification of Meta-level Architectures , 1988, META.

[23]  John W. Lloyd,et al.  Analysis of Meta-Programs , 1989, META.

[24]  Dino Pedreschi,et al.  Modular termination proofs for logic and pure PROLOG programs , 1993 .

[25]  Giorgio Levi,et al.  A Formalization of Metaprogramming for real , 1993, ICLP.

[26]  Robert A. Kowalski,et al.  Amalgamating language and metalanguage in logic programming , 1982 .

[27]  Annalisa Bossi,et al.  Preserving Universal Termination through Unfold/Fold , 1994, ALP.

[28]  Alexander Serebrenik,et al.  Non-tranformational termination analysis of logic programs, based on general term-orderings , 2000, LOPSTR.

[29]  Danny De Schreye,et al.  Why Untyped Nonground Metaprogramming Is Not (Much Of) A Problem , 1995, J. Log. Program..

[30]  Danny De Schreye,et al.  Termination of Logic Programs: The Never-Ending Story , 1994, J. Log. Program..

[31]  Giorgio Levi,et al.  Declarative Modeling of the Operational Behavior of Logic Languages , 1989, Theor. Comput. Sci..

[32]  Krzysztof R. Apt,et al.  Meta-Variables in Logic Programming, or in Praise of Ambivalent Syntax , 1996, Fundam. Informaticae.

[33]  Andrew Bowles,et al.  Tracing Requirements for Multi-Layered Meta-Programming , 1988, META.

[34]  Annalisa Bossi Logic-Based Program Synthesis and Transformation , 1999, Lecture Notes in Computer Science.

[35]  Zohar Manna,et al.  Proving termination with multiset orderings , 1979, CACM.

[36]  Danny De Schreye,et al.  Termination proofs for logic programs with tabling , 2001, TOCL.

[37]  Zohar Manna,et al.  Proving termination with multiset orderings , 1979, CACM.

[38]  Theo D'Hondt,et al.  Aspect-Orientated Logic Meta Programming , 1999, Reflection.

[39]  Manuel V. Hermenegildo,et al.  Effectiveness of Global Analysis in Strict Independence-Based Automatic Parallelization , 1994, ILPS.

[40]  Divesh Srivastava,et al.  Explaining Program Execution in Deductive Systems , 1993, DOOD.

[41]  Saumya K. Debray,et al.  Non-Failure Analysis for Logic Programs , 1997, ICLP.

[42]  Alexander Serebrenik,et al.  Acceptability with General Orderings , 2002, Computational Logic: Logic Programming and Beyond.

[43]  Tim Sheard,et al.  Accomplishments and Research Challenges in Meta-programming , 2001, SAIG.

[44]  Fergus Henderson,et al.  Determinism analysis in the Mercury compiler , 1996 .

[45]  Sofie Verbaeten Static verification of compositionality and termination for logic programming languages , 2000 .

[46]  Bern Martens On the semantics of meta-programming and the control of partial deduction in logic programming , 1994 .

[47]  Dino Pedreschi,et al.  Veriication of Meta-interpreters , 1997 .

[48]  John W. Lloyd,et al.  The Gödel programming language , 1994 .

[49]  Nachum Dershowitz,et al.  A General Framework for Automatic Termination Analysis of Logic Programs , 2000, Applicable Algebra in Engineering, Communication and Computing.

[50]  Sandro Etalle,et al.  On modular termination proofs of general logic programs , 2002, Theory Pract. Log. Program..

[51]  Kim Mens,et al.  Building Composable Aspect-Specific Languages with Logic Metaprogramming , 2002, GPCE.

[52]  Michael Codish,et al.  A Semantic Basis for the Termination Analysis of Logic Programs , 1999, J. Log. Program..

[53]  Wim Vanhoof,et al.  Reuse of Results in Termination Analysis of Typed Logic Programs , 2002, SAS.

[54]  John P. Gallagher,et al.  Combining Norms to Prove Termination , 2002, VMCAI.

[55]  Dino Pedreschi,et al.  Verification of Meta-Interpreters , 1997, J. Log. Comput..

[56]  John W. Lloyd,et al.  The Go¨del programming language , 1994 .

[57]  Evelina Lamma,et al.  Combining Solvers in a Meta Constraint Logic Programming Architecture , 1996, FroCoS.

[58]  Lee Naish,et al.  A three-valued declarative debugging scheme , 2000, Proceedings 23rd Australasian Computer Science Conference. ACSC 2000 (Cat. No.PR00518).

[59]  Frédéric Mesnard,et al.  Inférer et compiler la terminaison des programmes logiques avec contraintes , 1998, JFPLC.

[60]  Harvey Abramson,et al.  Meta-programming in logic programming , 1989 .

[61]  Frank Pfenning,et al.  Twelf User''s Guide , 2002 .

[62]  Zoltan Somogyi,et al.  Determinism analysis in the Mercury , 1996 .

[63]  Krzysztof R. Apt,et al.  From logic programming to Prolog , 1996, Prentice Hall International series in computer science.

[64]  Maurizio Gabbrielli,et al.  The s-Semantics Approach: Theory and Applications , 1994, J. Log. Program..

[65]  Danny De Schreye,et al.  Termination Analysis: Some Practical Properties of the Norm and Level Mapping Space , 1998, IJCSLP.

[66]  Frédéric Mesnard,et al.  On proving left termination of constraint logic programs , 2003, TOCL.

[67]  Dino Pedreschi,et al.  Modular Verification of Logic Programs , 1996 .

[68]  Michael Codish,et al.  A Semantic Basis for Termination Analysis of Logic Programs and its Realization Using Symbolic Norm Constraints , 1997, APPIA-GULP-PRODE.

[69]  Paul A. Strooper,et al.  Complete Sets of Frontiers in Logic-Based Program Transformation , 1988, META.