A polymorphic type system for PROLOG.
Artificial Intelligence
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
Handbook of theoretical computer science (vol. B)
Partial evaluation in logic programming
Journal of Logic Programming
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Controlling generalization and polyvariance in partial deduction of normal logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Inferring Argument Size Relationships with CLP(R)
LOPSTR '96 Proceedings of the 6th International Workshop on Logic Programming Synthesis and Transformation
Homeomorphic embedding for online termination of symbolic methods
The essence of computation
Termination analysis and specialization-point insertion in offline partial evaluation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Logic program specialisation through partial deduction: Control issues
Theory and Practice of Logic Programming
Quasi-terminating logic programs for ensuring the termination of partial evaluation
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Abstract interpretation with specialized definitions
SAS'06 Proceedings of the 13th international conference on Static Analysis
Non-leftmost unfolding in partial evaluation of logic programs with impure predicates
LOPSTR'05 Proceedings of the 15th international conference on Logic Based Program Synthesis and Transformation
Efficient local unfolding with ancestor stacks for full prolog
LOPSTR'04 Proceedings of the 14th international conference on Logic Based Program Synthesis and Transformation
Inference of well-typings for logic programs with application to termination analysis
SAS'05 Proceedings of the 12th international conference on Static Analysis
Verification of java bytecode using analysis and transformation of logic programs
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
Decompilation of Java bytecode to Prolog by partial evaluation
Information and Software Technology
Hi-index | 0.00 |
Homeomorphic Embedding(HEm) has proven to be very powerful for supervising termination of computations, provided that such computations are performed over a finite signature, i.e., the number of constants and function symbols involved is finite. However, there are situations, for example numeric computations, which involve an infinite (or too large) signature, in which HEmdoes not guarantee termination. Some extensions to HEmfor the case of infinite signatures have been proposed which guarantee termination, but they either do not provide systematic means for generating such extensions or the extensions are too simplistic and do not produce the expected results in practice. We introduce Type-based Homeomorphic Embedding(TbHEm) as an extension of the standard, untyped HEmto deal with infinite signatures. In the paper, we show how TbHEmcan be used to improve the accuracy of online partial evaluation. For this purpose, we propose an approach to constructing suitable types for partial evaluation automatically based on existing analysis tools for constraint logic programs. We also present useful properties of types which allow us to take full advantage of TbHEmin practice. Experimental results are reported which show that our work improves the state of the practice of online partial evaluation.