Gracefully adding negation and disjunction to Prolog
Proceedings on Third international conference on logic programming
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
Specialisation of Prolog and FCP programs using abstract interpretation
New Generation Computing - Special Issue: Selected Papers from the Workshop on Partial Evaluation and Mixed
Journal of Logic Programming
On the power of Alexander templates
PODS '89 Proceedings of the eighth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Meta-programming in logic programming
A treatment of negation during partial evaluation
Meta-programming in logic programming
A workbench for developing logic programs by stepwise enhancement
A workbench for developing logic programs by stepwise enhancement
A type system for logic program
Journal of Logic Programming
Partial evaluation of pattern matching in constraint logic programming languages
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Partial evaluation in logic programming
Journal of Logic Programming
A partial evaluation procedure for logic programs
Proceedings of the 1990 North American conference on Logic programming
The Mixtus approach to automatic partial evaluation of full Prolog
Proceedings of the 1990 North American conference on Logic programming
Tutorial notes on partial evaluation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Symbolic Logic and Mechanical Theorem Proving
Symbolic Logic and Mechanical Theorem Proving
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automated theorem proving: A logical basis (Fundamental studies in computer science)
Automated theorem proving: A logical basis (Fundamental studies in computer science)
Towards creating specialised integrity checks through partial evaluation of meta-interpreters
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Rules and strategies for transforming functional and logic programs
ACM Computing Surveys (CSUR)
Specialization of lazy functional logic programs
PEPM '97 Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Reducing nondeterminism while specializing logic programs
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Controlling generalization and polyvariance in partial deduction of normal logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Program specialization via algorithmic unfold/fold transformations
ACM Computing Surveys (CSUR) - Special issue: electronic supplement to the September 1998 issue
A unifying view of functional and logic program specialization
ACM Computing Surveys (CSUR) - Special issue: electronic supplement to the September 1998 issue
Extending partial deduction to tabled execution: some results and open issues
ACM Computing Surveys (CSUR) - Special issue: electronic supplement to the September 1998 issue
Synthesis of an efficient tactical theorem prover for the game of go
ACM Computing Surveys (CSUR) - Special issue: electronic supplement to the September 1998 issue
Partial evaluation of functional logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
1998 symposium on partial evaluation
ACM Computing Surveys (CSUR)
Specialization of inductively sequential functional logic programs
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Using regular approximations for generalisation during partial evalution
PEPM '00 Proceedings of the 2000 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Computer Go: an AI oriented survey
Artificial Intelligence
Cost-augmented narrowing-driven specialization
PEPM '02 Proceedings of the 2002 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Regular Tree Languages as an Abstract Domain in Program Specialisation
Higher-Order and Symbolic Computation
The narrowing-driven approach to functional logic program specialization
New Generation Computing - Partial evaluation and program transformation
Program Generation, Termination, and Binding-Time Analysis
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
A Partial Evaluation Framework for Curry Programs
LPAR '99 Proceedings of the 6th International Conference on Logic Programming and Automated Reasoning
Partial Evaluation - Practice and Theory, DIKU 1998 International Summer School
PADO '01 Proceedings of the Second Symposium on Programs as Data Objects
Program Derivation = Rules + Strategies
Computational Logic: Logic Programming and Beyond, Essays in Honour of Robert A. Kowalski, Part I
Removing Redundant Arguments of Functions
AMAST '02 Proceedings of the 9th International Conference on Algebraic Methodology and Software Technology
A Practical Partial Evaluator for a Multi-Paradigm Declarative Language
FLOPS '01 Proceedings of the 5th International Symposium on Functional and Logic Programming
PSI '99 Proceedings of the Third International Andrei Ershov Memorial Conference on Perspectives of System Informatics
Bottom-Up Specialisation of Logic Programs
LOPSTR '98 Proceedings of the 8th International Workshop on Logic Programming Synthesis and Transformation
Improving Homeomorphic Embedding for Online Termination
LOPSTR '98 Proceedings of the 8th International Workshop on Logic Programming Synthesis and Transformation
Measuring the Effectiveness of Partial Evaluation in Functional Logic Languages
LOPSTR '00 Selected Papers form the 10th International Workshop on Logic Based Program Synthesis and Transformation
Abstract Conjunctive Partial Deduction Using Regular Types and Its Application to Model Checking
LOPSTR '01 Selected papers from the 11th International Workshop on Logic Based Program Synthesis and Transformation
Metaprogramming Domain Specific Metaprograms
Reflection '99 Proceedings of the Second International Conference on Meta-Level Architectures and Reflection
An Automatic Composition Algorithm for Functional Logic Programs
SOFSEM '00 Proceedings of the 27th Conference on Current Trends in Theory and Practice of Informatics
Analysis of Imperative Programs through Analysis of Constraint Logic Programs
SAS '98 Proceedings of the 5th International Symposium on Static Analysis
Development reuse and the logic program derivation of two string-matching algorithms
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
Abstract specialization and its applications
Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Homeomorphic embedding for online termination of symbolic methods
The essence of computation
A framework for the integration of partial evaluation and abstract interpretation of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Offline specialisation in Prolog using a hand-written compiler generator
Theory and Practice of Logic Programming
Cost-Augmented Partial Evaluation of Functional Logic Programs
Higher-Order and Symbolic Computation
A tour of tempo: a program specializer for the C language
Science of Computer Programming - Special issue on program transformation
Specialization of functional logic programs based on needed narrowing
Theory and Practice of Logic Programming
Self-tuning resource aware specialisation for prolog
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Derivation of Efficient Logic Programs by Specialization and Reduction of Nondeterminism
Higher-Order and Symbolic Computation
Termination analysis and specialization-point insertion in offline partial evaluation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Poly-controlled partial evaluation
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
Logic program specialisation through partial deduction: Control issues
Theory and Practice of Logic Programming
Partial evaluation of multi‐paradigm declarative languages: Thesis
AI Communications
Removing redundant arguments automatically
Theory and Practice of Logic Programming
Forward slicing of functional logic programs by partial evaluation
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
Poly-controlled partial evaluation in practice
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A Study on the Practicality of Poly-Controlled Partial Evaluation
Electronic Notes in Theoretical Computer Science (ENTCS)
Efficient Reductants Calculi using Partial Evaluation Techniques with Thresholding
Electronic Notes in Theoretical Computer Science (ENTCS)
Improving the Decompilation of Java Bytecode to Prolog by Partial Evaluation
Electronic Notes in Theoretical Computer Science (ENTCS)
Efficient and flexible access control via Jones-optimal logic program specialisation
Higher-Order and Symbolic Computation
An improved reductant calculus using fuzzy partial evaluation techniques
Fuzzy Sets and Systems
Oracle-Based Partial Evaluation
Electronic Notes in Theoretical Computer Science (ENTCS)
A Modular Equational Generalization Algorithm
Logic-Based Program Synthesis and Transformation
Decompilation of Java bytecode to Prolog by partial evaluation
Information and Software Technology
Electronic Notes in Theoretical Computer Science (ENTCS)
Improving offline narrowing-driven partial evaluation using size-change graphs
LOPSTR'06 Proceedings of the 16th international conference on Logic-based program synthesis and transformation
Convex hull abstractions in specialization of CLP programs
LOPSTR'02 Proceedings of the 12th international conference on Logic based program synthesis and transformation
Forward slicing of multi-paradigm declarative programs based on partial evaluation
LOPSTR'02 Proceedings of the 12th international conference on Logic based program synthesis and transformation
Using an abstract representation to specialize functional logic programs
LPAR'00 Proceedings of the 7th international conference on Logic for programming and automated reasoning
Binding-time analysis by constraint solving a modular and higher-order approach for mercury
LPAR'00 Proceedings of the 7th international conference on Logic for programming and automated reasoning
The transformational approach to program development
A 25-year perspective on logic programming
Efficient local unfolding with ancestor stacks*
Theory and Practice of Logic Programming
A generic framework for the analysis and specialization of logic programs
ICLP'05 Proceedings of the 21st international conference on Logic Programming
Abstract interpretation with specialized definitions
SAS'06 Proceedings of the 13th international conference on Static Analysis
Removing superfluous versions in polyvariant specialization of prolog programs
LOPSTR'05 Proceedings of the 15th international conference on Logic Based Program Synthesis and Transformation
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
Foundations of rule-based query answering
RW'07 Proceedings of the Third international summer school conference on Reasoning Web
Annotation of logic programs for independent and-parallelism by partial evaluation*
Theory and Practice of Logic Programming
Controlling Polyvariance for Specialization-based Verification
Fundamenta Informaticae - Special Issue on the Italian Conference on Computational Logic: CILC 2011
Hi-index | 0.00 |
In this tutorial the specialisation of declarative logic programs is presented. The main correctness results are given, and the outline of a basic algorithm for partial evaluation of a logic program with respect to a goal. The practical considerations of gaining efficiency (and not losing any) are discussed. A renaming scheme for performing structure specialisation is then described, and illustrated on a well-known string matching example. The basic algorithm is enhanced by incorporating abstract interpretation. A two-phase specialisation is then described and illustrated, in which partial evaluation is followed by the detection and removal of useless clauses. This is shown for the specialisation of a proof procedure for first order logic. The specialisation of meta programs is very important in logic programming, and the ground representation for object programs has to be handled. Some techniques for doing this are described. Comparisons are made in the tutorial to similar work in other programming languages, and the similarities and differences between them and logic program specialisation is discussed.