|
ABSTRACT
The last years have witnessed a flurry of new results in the area of partial evaluation. These tutorial notes survey the field and present a critical assessment of the state of the art.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
| |
2
|
|
| |
3
|
L. O. Andersen. Self-applicable C program specialization. In Consel {26}, pages 54-61.
|
| |
4
|
|
 |
5
|
Wing Yee Au , Daniel Weise , Scott Seligman, Automatic generation of compiled simulations through program specialization, Proceedings of the 28th conference on ACM/IEEE design automation, p.205-210, June 17-22, 1991, San Francisco, California, United States
[doi> 10.1145/127601.127665]
|
| |
6
|
Denis Bechet. Partial evaluation of interaction nets. In WSA'92 {109}, pages 331-338.
|
| |
7
|
L. Beckman, A. Haraldsson, O. Oskarsson, and E. Sandewall. A partial evaluator, and its use as a programming tool. Artificial intelligence, 7(4):319-357, 1976.
|
 |
8
|
|
| |
9
|
D. Bj0rner, A. P. Ershov, and N. D. Jones, editors. Partial Evaluation and Mixed Computation. North-Holland, 1988.
|
| |
10
|
|
| |
11
|
A. Bondorf. Towards a self-applicable partial evaluator for term rewriting systems. In Bj0rner et al. {9}.
|
| |
12
|
A. Bondorf. Self-Applicable Partial Evaluation. PhD thesis, University of Copenhagen, DIKU, Copenhagen, Denmark, 1990. DIKU Report 90-17.
|
| |
13
|
|
| |
14
|
A. Bondorf. Similix manual, system version 3.0. Technical Report 91/9, Computer Science Department, University of Copenhagen, 1991.
|
 |
15
|
|
| |
16
|
|
 |
17
|
|
| |
18
|
M. A. Bulyonkov. Polyvariant mixed computation for analyzer programs. Acta Informatica, 21:473-484, 1984.
|
 |
19
|
|
 |
20
|
|
 |
21
|
H. Abelson , R. K. Dybvig , C. T. Haynes , G. J. Rozas , N. I. Adams, IV , D. P. Friedman , E. Kohlbecker , G. L. Steele, Jr. , D. H. Bartley , R. Halstead , D. Oxley , G. J. Sussman , G. Brooks , C. Hanson , K. M. Pitman , M. Wand , William Clinger , Jonathan Rees, Revised report on the algorithmic language scheme, ACM SIGPLAN Lisp Pointers, v.IV n.3, p.1-55, July, 1991
[doi> 10.1145/382130.382133]
|
| |
22
|
C. Colby and P. Lee. An implementation of parameterized partial evaluation. In WSA'91 {108}, pages 82-89.
|
| |
23
|
|
| |
24
|
C. Consel. Analyse de Programmes, Evaluation Partielle et Gdndration de Compilateurs. PhD thesis, Universit~ de Paris VI, Paris, France, June 1989.
|
 |
25
|
|
| |
26
|
C. Consel, editor. A CM Workshop on Partial Evaluation and Semantics-Based Program Manipulation. Research Report 909, Department of Computer Science, Yale University, 1992.
|
| |
27
|
C. Consel. Report on Schism'92. Research report, Pacific Software Research Center, Oregon Graduate Institute of Science and Technology, Beaverton, Oregon, USA, 1992.
|
| |
28
|
|
| |
29
|
|
| |
30
|
|
 |
31
|
|
 |
32
|
|
 |
33
|
|
| |
34
|
C. Consel and S. C. Khoo. Semantics-directed generation of a Prolog compiler. In 3rd International Symposium on Programming Language Implementation and Logic Programming, volume 528 of Lecture Notes in Computer Science, pages 135-146. Springer-Verlag, 1991.
|
| |
35
|
C. Consel and S.C. Khoo. On-line & off-line partial evaluation: Semantic specifications and correctness proofs. Research Report 896, Yale University, New Haven, Connecticut, USA, 1992.
|
| |
36
|
C. Consel and S. Psi. A programming environment for binding-time based partial evaluators. In Consel {26}, pages 62-66.
|
| |
37
|
C. Consel, C. Pu, and J. Walpole. Incremental specialization: The key to high performance, modularity and portability in operating systems. Research report, Pacific Software Research Center, Oregon Graduate Institute of Science and Technology, Beaverton, Oregon, USA, 1992.
|
| |
38
|
K. D. Cooper, M. W. Hall, and K. Kennedy. Procedure cloning, in Fourth IEEE International Conference on Computer Languages, pages 96-105, 1992.
|
| |
39
|
Pierre Cr~gut. Machines d environnement pour la rgduction symbolique et l ' gvaluation partielle. PhD thesis, Universit6 Paris VII, 1991.
|
| |
40
|
|
| |
41
|
L. P. Deutsch. An interactive program verifier. Technical Report CSL-73-1, Xerox PARC, May 1973.
|
| |
42
|
A. P. Ershov, D. Bjorner, Y. Futamura, K. Furukawa, A. Haraldsson, and W. L. Scherlis, editors. Selected Papers from the Workshop on Partial Evaluation and Mixed Computation, volume 6 (2,3) of New Generation Computing. OHMSHA. LTD. and Springer-Verlag, 1988.
|
| |
43
|
|
| |
44
|
D. A. Fuller and S. Abramsky. Mixed computation of Prolog. In Bjorner et al. {9}.
|
| |
45
|
Y. Futamura. Partial evaluation of computation processan approach to a compiler-compiler. Systems, Computers, Controls P, 5, pages 45-50, 1971.
|
| |
46
|
Y. Futamura and K. Nogi. Generalized partial computation. In Bjorner et al. {9}.
|
| |
47
|
J. Gallager and M. Codish. Specialisation of Prolog and FCP programs using abstract interpretation. In Bjorner et al. {9}.
|
| |
48
|
M. Gengler and B. Rytz. A polyvariant binding time analysis handling partially known values. In WSA'92 {109}, pages 322-330.
|
| |
49
|
R. Glfick. Towards multiple self-application. In I-Iudak and
|
| |
50
|
D. Golub, R. Dean, A. Forin, and R. Rashid. Unix as an application program. In Proceedings of the USENIX Summer Conference, 1990.
|
| |
51
|
C. K. Gomard. Higher order partial evaluation - HOPE for the lambda calculus. Master's thesis, DIKU, University of Copenhagen, Copenhagen, Denmark, 1989.
|
 |
52
|
|
 |
53
|
|
| |
54
|
C. K. Gomard and N.D. Jones. Compiler generation by partial evaluation: a case study. Structured Programming, 12:123-144, 1991.
|
| |
55
|
M. A. Guzowski. Toward developing a reflexive partial evaluator for an interesting subset of Lisp. Master's thesis, Department of Computer Engineering and Science, Case Western Reserve University, Cleveland, Ohio, 1988.
|
| |
56
|
T. A. Hansen. Transforming a naive pattern matcher into efficient pattern matchers. Technical report, DAIMI, 1991.
|
| |
57
|
A. Haraldsson. A Program Manipulation System Based on Partial Evaluation. PhD thesis, LinkSping University, Sweden, 1977. LinkSping Studies in Science and Technology Dissertations N~ 14.
|
| |
58
|
S. Harnett and M. Montenyohl. Towards efficient compilation of a dynamic object-oriented language. In Consel {26}, pages 82-89.
|
| |
59
|
|
| |
60
|
C. K. Holst. Language triplets: The AMIX approach. In Bjorner et al. {9}, pages 167-185.
|
| |
61
|
P. Hudak and N. D. Jones, editors. Partial Evaluation and Semantics based Program Manipulation. Vol. 26, No 9. ACM SIGPLAN Notices, 1991.
|
| |
62
|
J. Hughes. Backward analysis of functional programs.
|
| |
63
|
|
 |
64
|
|
| |
65
|
|
| |
66
|
|
| |
67
|
|
| |
68
|
N. D. Jones, P. Sestoft, and H. Sendergaard. Mix: a selfapplicable partial evaluator for experiments in compiler generation. LISP and Symbolic Computation, 2(1):9-50, 1989.
|
| |
69
|
J. J0rgensen. Generating a pattern matching compiler by partial evaluation. In Simon L. Peyton Jones, Guy Hutton, and Carsten Kehler Hoist, editors, Functional Programming, Glasgow 1990, pages 177-195. Springer-Verlag, 1991.
|
 |
70
|
|
| |
71
|
M. Katz and D. Weise. Towards a new perspective on partial evaluation. In Consel {26}, pages 29-37.
|
| |
72
|
|
 |
73
|
|
| |
74
|
S. C. Kleene. Introduction to Metamathematics. Van Nostrand, 1952.
|
| |
75
|
D. E. Knuth, J. H. Morris, and V. R. Pratt. Fast pattern matching in strings. SIAM, 6(2):323-350, 1977.
|
 |
76
|
|
| |
77
|
|
| |
78
|
J. L&unchbury. Projection Factorisation in Partial Evaluation. PhD thesis, Department of Computing Science, University of Glasgow, Scotland, 1990.
|
| |
79
|
L. A. Lombardi and B. Raphael. Lisp as the language for an incremental computer. In E. C. Berkeley and D. G. Bobrow, editors, The Programming Language Lisp: Its Operation and Applications, pages 204-219. MIT Press, Cambridge, Massachusetts, 1964.
|
| |
80
|
K. Malmkjmr. On static properties of specialized programs. in WSA'91 {108}, pages 234-241.
|
| |
81
|
K. Malmkjaer. Predicting properties of residual programs. In Consel {26}, pages 8-13.
|
 |
82
|
|
| |
83
|
T. Mogensen. The application of partial evaluation to raytracing. Master's thesis, University of Copenhagen, DIKU, Copenhagen, Denmark, 1986.
|
| |
84
|
T. Mogensen. Bindsng Time Aspects o} Partial Evaluation. PhD thesis, University of Copenhagen, DIKU, Copenhagen, Denmark, 1989.
|
| |
85
|
P. Mosses. SIS- Semantics Implementation System, reference manual and user guide. University of Aarhus, Aarhus, Denmark, 1979. Version 1.0.
|
| |
86
|
C. Mossin. Similix binding time debugger manual. Technical report, University of Copenhagen, Copenhagen, Denmark, 1991.
|
| |
87
|
|
 |
88
|
|
 |
89
|
|
| |
90
|
J. Palsberg and M. I. Schwartzbach. Binding time analysis: Abstract interpretation versus type inference. Technical report, DAIMI, 1992.
|
| |
91
|
C. Pu, H. Massalin, and J. Ioamnidis. The Synthesis kernel. ACM Computing Systems, 1(1):11-32, 1988.
|
| |
92
|
C. Queinnec and J. M. Geffroy. Partial evaluation applied to pattern matching with intelligent backtracking. In WSA'92 {109}, pages 109-117.
|
| |
93
|
|
 |
94
|
|
| |
95
|
E. Ruf and D. Weise. Improving the accuracy of higherorder specialization using control flow analysis. In Consel {26}, pages 67-74.
|
| |
96
|
B. Rytz and M. Gengler. A polyvariant binding time analysis. In Consel {26}, pages 21-28.
|
| |
97
|
|
| |
98
|
D. A. Schmidt. Static properties of partial evaluation. In Bjcrner et al. {9}, pages 465-483.
|
| |
99
|
|
| |
100
|
P. Sestoft. Automatic call unfolding in a partial evaluator. In Bj0rner et al. {9}.
|
 |
101
|
David Sherman , Robert Strandh , Irène Durand, Optimization of equational programs using partial evaluation, Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, p.72-82, June 17-19, 1991, New Haven, Connecticut, United States
|
 |
102
|
|
| |
103
|
K. L. Solberg, H. It. Nielson, and F. Nielson. Inference systems for binding time analysis. In WSA'92 {109}, pages 247-254.
|
 |
104
|
|
 |
105
|
|
| |
106
|
P. Weiner. Linear pattern matching algorithms. In 14th Annual Symposium on Switching and Automata Theory, pages 1-11, 1973.
|
| |
107
|
Daniel Weise , Roland Conybeare , Erik Ruf , Scott Seligman, Automatic online partial evaluation, Proceedings of the 5th ACM conference on Functional programming languages and computer architecture, p.165-191, June 1991, Cambridge, Massachusetts, United States
|
| |
108
|
Workshop on Static Analysis, volume 74 of Bigre Journal. IRISA, Itennes, France, 1991.
|
| |
109
|
Workshop on Static Analysis, volume 81-82 of Bigre Journal. IItISA, Rennes, France, 1992.
|
CITED BY 79
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C. Pu , T. Autrey , A. Black , C. Consel , C. Cowan , J. Inouye , L. Kethana , J. Walpole , K. Zhang, Optimistic incremental specialization: streamlining a commercial operating system, ACM SIGOPS Operating Systems Review, v.29 n.5, p.314-321, Dec. 3, 1995
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Michael Sperber , Peter Thiemann , Hervert Klaeren, Distributed partial evaluation, Proceedings of the second international symposium on Parallel symbolic computation, p.80-87, July 20-22, 1997, Maui, Hawaii, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Kazuhiro Ogata , Shigenori Ioroi , Kokichi Futatsugi, Optimizing term rewriting using discrimination nets with specialization, Proceedings of the 1999 ACM symposium on Applied computing, p.511-518, February 28-March 02, 1999, San Antonio, Texas, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dawson R. Engler , Wilson C. Hsieh , M. Frans Kaashoek, C: a language for high-level, efficient, and machine-independent dynamic code generation, Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.131-144, January 21-24, 1996, St. Petersburg Beach, Florida, United States
|
|
|
|
|
|
|
|
|
|
|
|
Torben Amtoft , Charles Consel , Olivier Danvy , Karoline Malmkjær, The abstraction and instantiation of string-matching programs, The essence of computation: complexity, analysis, transformation, Springer-Verlag New York, Inc., New York, NY, 2002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mads Sig Ager , Olivier Danvy , Mayer Goldberg, A symmetric approach to compilation and decompilation, The essence of computation: complexity, analysis, transformation, Springer-Verlag New York, Inc., New York, NY, 2002
|
|
|
|
|
|
|
|
|
Karoline Malmkjær , Peter Ørbæk, Polyvariant specialisation for higher-order, block-structured languages, Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, p.66-76, June 21-23, 1995, La Jolla, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dylan McNamee , Jonathan Walpole , Calton Pu , Crispin Cowan , Charles Krasic , Ashvin Goel , Perry Wagle , Charles Consel , Gilles Muller , Renauld Marlet, Specialization tools and techniques for systematic optimization of system software, ACM Transactions on Computer Systems (TOCS), v.19 n.2, p.217-251, May 2001
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|