ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
An introduction to partial evaluation
Full text PdfPdf (547 KB)
Source ACM Computing Surveys (CSUR) archive
Volume 28 ,  Issue 3  (September 1996) table of contents
Pages: 480 - 503  
Year of Publication: 1996
ISSN:0360-0300
Author
Neil D. Jones  Univ. of Copenhagen, Copenhagen East, Denmark
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 21,   Downloads (12 Months): 159,   Citation Count: 37
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/243439.243447
What is a DOI?

Warning: The download time has expired please click on the item to try again.


ABSTRACT

Partial evaluation provides a unifying paradigm for a broad spectrum of work in program optimization compiling interpretation and the generation of automatic program generators [Bjørner et al. 1987; Ershov 1992; and Jones et al. 1993]. It is a program optimization technique, perhaps better called program specialization, closely related to but different from Jørring and Scherlis' staging transformations [1986]. It emphasizes, in comparison with Burstall and Darlington [1977] and Jørring and Scherlis [1986] and other program transformation work, full automation and the generation of program generators as well as transforming single programs. Much partial evaluation work to date has concerned automatic compiler generation from an interpretive definition of programming language, but it also has important applications to scientific computing, logic programming, metaprogramming, and expert systems; some pointers are given later.


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
ACM. 1991. Partial Evaluation and Semantics- Based Program Manipulation, New Haven, Connecticut. (Sigplan Notices, 26, 9, Sept.), ACM Press.
 
2
ACM. 1992. Sigplan Workshop on Partial Evaluation and Semantics-Based Program Manipulation, (San Francisco).
 
3
ACM. 1993. Sigplan Workshop on Partial Evaluation and Semantics-Based Program Manipulation (Copenhagen). ACM Press.
 
4
ACM 1994. Sigplan Workshop on Partial Evaluation and Semantics-Based Program Manipulation, (Orlando, Florida) Univ. of Melbourne report 94/9, 1994.
 
5
ACM. 1995. Sigplan Workshop on Partial Evaluation and Semantics-Based Program Manipulation, (San Diego, Calif.) ACM Press.
 
6
 
7
ANDERSEN, L. O. 1994. Program analysis and specialization for the C programming language. DIKU, Dept. of Computer Science, Univ. of Copenhagen. DIKU Rep. No. 94/19.
 
8
ANDERSEN, L. O. 1992. C program specialization. International Workshop on Compiler Construction, (Paderborn, Germany), Springer-Verlag.
 
9
ANDERSEN, P. H. 1994. Partial evaluation applied to ray tracing. Res. Rep. DIKU, Dept. of Computer Science, Univ. of Copenhagen.
 
10
APPEL, A. 1988. Reopening closures. Unpublished report, Princeton Univ.
 
11
BAIER, R., GLUCK, R., AND Z()CHLING, R. 1994. Partial evaluation of numerical programs in Fortran. In Proceedings of ACM SIGPLAN Workshop on Partial Evaluation and Semantics- Based Program Manipulation, Tech. Rep. 94/9, Univ. of Melbourne, Australia, 119-132.
 
12
BECKMAN, L., ET AL. 1976. A partial evaluator, and its use as a programming tool. Artif. Intell. 7, 4, 319-357.
 
13
 
14
BJORNER, D., ERSHOV, A. P., AND JONES, N. D. EDS. 1987. Partial evaluation and mixed computation. In Proceedings of the IFIP TC2 Workshop (Gammel Avernoes, Denmark, Oct.) North-Holland, 1988.
 
15
 
16
BONDORF, A. 1990. Self-applicable partial evaluation. PhD thesis, DIKU, Univ. of Copenhagen. Revised version: DIKU Rep. 90/17.
 
17
18
 
19
20
21
22
 
23
 
24
ERSHOV, A.P. 1982. Mixed computation: Potential applications and problems for study. Theor. Comput. Sci., 18, 41-67.
 
25
ERSHOV, A. P., BJORNER, D., FUTAMURA, Y., FU- RUKAWA, K., HARALDSON, A., AND SCHERLIS, W. EDS. 1988. In Special Issue: Selected Papers from the Workshop on Partial Evaluation and Mixed Computation, 1987. New Generation Comput., 6, 2,3. Ohmsha Ltd. and Springer-Verlag.
 
26
 
27
GOMARD, C. K. AND JONES, N.D. 1991a. Compiler generation by partial evaluation: a case study. Structured Program. 12, 123-144. Also as DIKU-report 88/24 and 90/16.
 
28
GOMARD, C. K. AND JONES, N.D. 1991b. A partial evaluator for the untyped lambda-calculus. J. Funct. Program. 1 1 (Jan.) 21-69.
29
 
30
HOLST, N. C. K. 1988. Language triplets: The AMIX approach. In Partial Evaluation and Mixed Computation, D. Bj0rner, A. P. Ershov, and N. D. Jones, Eds., North-Holland, 167- 185.
 
31
JACOBSEN, H. F. 1990. Speeding up the backpropagation algorithm by partial evaluation. DIKU Student Project 90-10-13, 32 pages. DIKU, Univ. of Copenhagen. (In Danish).
 
32
JONES, N.D. 1988. Automatic program specialization: A re-examination from basic principles. In Partial Evaluation and Mixed Computation, D. Bj0rner, A. P. Ershov, and N. D. Jones, Eds. North-Holland, 225-282.
33
 
34
 
35
 
36
JONES, N. D., SESTOFT, P., AND SONDERGAARD, H. 1989. Mix: A self-applicable partial evaluator for experiments in compiler generation. Lisp Symbolic Comput., 2, 1, 9-50.
37
38
39
 
40
 
41
LEONE, M. AND LEE, P. 1994. Lightweight runtime code generation. In Proceedings of PEPM'94, the ACM Sigplan Symposium on Partial Evaluation and Semantics-Based Program Manipulation. ACM Press.
42
 
43
 
44
LOMBARDI, L. A. AND RAPHAEL, B. 1964. Lisp as the language for an incremental computer. In The Programming Language Lisp: Its Operation and Applications, E. C. Berkeley and D. G. Bobrow, Eds. MIT Press, Cambridge, Massachusetts, 204-219.
 
45
 
46
MOGENSEN, T. 1986. The application of partial evaluation to ray-tracing. Master's thesis, DIKU, Univ. of Copenhagen, Denmark.
 
47
MOSSES, P. 1979. SIS--semantics implementation system, reference manual and user guide. DAIMI Rep. MD-30, DAIMI, Univ. of Aarhus, Denmark.
48
 
49
 
50
 
51
PINGALI, K. AND ROGERS, A. 1990. Compiler parallelization for a simple distributed memorymachine. In International Conference on Parallel Programming, (St. Charles, Illinois).
52
 
53
ROMANENKO, S. A. 1988. A compiler generator produced by a self-applicable specializer can have a surprisingly natural and understandable structure. In Partial Evaluation and Mixed Computation, D. Bj~rner, A. P. Ershov, and N. D. Jones, Eds. North-Holland, 445- 463.
 
54
 
55
SAFRA, S. AND SHAPIRO, E. 1986. Meta interpreters for real. In Information Processing 86, H.-J. Kugler, Ed. North-Holland, 271-278.
 
56
 
57
SESTOFT, P. AND ZAMULIN, A. V. 1988. Annotated bibliography on partial evaluation and mixed computation. In Special Issue: Selected Papers from the Workshop on Partial Evaluation and Mixed Computation. Ohmsha Ltd. and Springer-Verlag, 309-354.
 
58
 
59
60
61
62
63
 
64

CITED BY  37