
arXiv: cs/0202012
Program specialisation aims at improving the overall performance of programs by performing source to source transformations. A common approach within functional and logic programming, known respectively as partial evaluation and partial deduction, is to exploit partial knowledge about the input. It is achieved through a well-automated application of parts of the Burstall-Darlington unfold/fold transformation framework. The main challenge in developing systems is to design automatic control that ensures correctness, efficiency, and termination. This survey and tutorial presents the main developments in controlling partial deduction over the past 10 years and analyses their respective merits and shortcomings. It ends with an assessment of current achievements and sketches some remaining research challenges.
FOS: Computer and information sciences, languages, Technology, PROLOG, partial evaluator, cs.PL, term rewriting-systems, termination analysis, D.1.6; D.1.2; I.2.2; F.4.1; I.2.3, Logic programming, logic programming, specialization, generation, PARTIAL EVALUATOR, 4602 Artificial intelligence, ORDER, 0803 Computer Software, well-founded semantics, 004, Science & Technology - Other Topics, F.4.1, mercury, 330, BINDING-TIME ANALYSIS, Logic, Computer Science - Artificial Intelligence, Computation Theory & Mathematics, Computer Science, Theory & Methods, TERMINATION ANALYSIS, 0801 Artificial Intelligence and Image Processing, partial evaluation, program specialisation, partial deduction, 0802 Computation Theory and Mathematics, 4613 Theory of computation, D.1.2, I.2.2, I.2.3, Science & Technology, Computer Science - Programming Languages, D.1.6, transformation, binding-time analysis, MIXED COMPUTATION, cs.AI, Computer Science, Software Engineering, TRANSFORMATION, Artificial Intelligence (cs.AI), Computer Science, SYSTEM, Programming Languages (cs.PL)
FOS: Computer and information sciences, languages, Technology, PROLOG, partial evaluator, cs.PL, term rewriting-systems, termination analysis, D.1.6; D.1.2; I.2.2; F.4.1; I.2.3, Logic programming, logic programming, specialization, generation, PARTIAL EVALUATOR, 4602 Artificial intelligence, ORDER, 0803 Computer Software, well-founded semantics, 004, Science & Technology - Other Topics, F.4.1, mercury, 330, BINDING-TIME ANALYSIS, Logic, Computer Science - Artificial Intelligence, Computation Theory & Mathematics, Computer Science, Theory & Methods, TERMINATION ANALYSIS, 0801 Artificial Intelligence and Image Processing, partial evaluation, program specialisation, partial deduction, 0802 Computation Theory and Mathematics, 4613 Theory of computation, D.1.2, I.2.2, I.2.3, Science & Technology, Computer Science - Programming Languages, D.1.6, transformation, binding-time analysis, MIXED COMPUTATION, cs.AI, Computer Science, Software Engineering, TRANSFORMATION, Artificial Intelligence (cs.AI), Computer Science, SYSTEM, Programming Languages (cs.PL)
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 49 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Top 10% | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Top 10% | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Top 10% |
