Abstract
This is an introduction to the idea of partial evaluation. It is meant to be fairly non-technical and focuses mostly on what and why rather than how.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
S.M. Abramov and N.V. Kondratjev. A compiler based on partial evaluation. In Problems of Applied Mathematics and Software Systems, pages 66–69. Moscow State University, Moscow, USSR, 1982. (In Russian).
L.O. Andersen. Self-applicable C program specialization. In Partial Evaluation and Semantics-Based Program Manipulation, San Francisco, California, June 1992 (Technical Report YALEU/DCS/RR-909), pages 54–61. New Haven, CT: Yale University, June 1992.
L.O. Andersen. Program Analysis and Specialization for the C Programming Language. PhD thesis, DIKU, University of Copenhagen, Denmark, 1994. DIKU Research Report 94/19.
P.H. Andersen. Partial evaluation applied to ray tracing. DIKU Research Report 95/2, DIKU, University of Copenhagen, Denmark, 1995.
L. Beckman et al. A partial evaluator, and its use as a programming tool. Artificial Intelligence, 7(4):319–357, 1976.
A. Berlin and D. Weise. Compiling scientific code using partial evaluation. IEEE Computer, 23(12):25–37, December 1990.
A.A. Berlin. Partial evaluation applied to numerical computation. In 1990 ACM Conference on Lisp and Functional Programming, Nice, France, pages 139–150. New York: ACM, 1990.
L. Birkedal and M. Welinder. Partial evaluation of Standard ML. Master’s thesis, DIKU, University of Copenhagen, Denmark, 1993. DIKU Research Report 93/22.
A. Bondorf. Self-Applicable Partial Evaluation. PhD thesis, DIKU, University of Copenhagen, Denmark, 1990. Revised version: DIKU Report 90/17.
M.A. Bulyonkov and A.P. Ershov. How do ad-hoc compiler constructs appear in universal mixed computation processes? In D. Bjørner, A.P. Ershov, and N.D. Jones, editors, Partial Evaluation and Mixed Computation, pages 65–81. Amsterdam: North-Holland, 1988.
M. Codish and E. Shapiro. Compiling or-parallelism into and-parallelism. In E. Shapiro, editor, Third International Conference on Logic Programming, London, United Kingdom (Lecture Notes in Computer Science, vol. 225), pages 283–297. Berlin: Springer-Verlag, 1986. Also in New Generation Computing 5 (1987) 45–61.
C. Consel and S.C. Khoo. Semantics-directed generation of a Prolog compiler. In J. Maluszyński and M. Wirsing, editors, Programming Language Implementation and Logic Programming, 3rd International Symposium, PLILP’ 91, Passau, Germany, August 1991 (Lecture Notes in Computer Science, vol. 528), pages 135–146. Berlin: Springer-Verlag, 1991.
P. Emanuelson and A. Haraldsson. On compiling embedded languages in Lisp. In 1980 Lisp Conference, Stanford, California, pages 208–215. New York: ACM, 1980.
Y. Futamura. Partial evaluation of computation process — an approach to a compiler-compiler. Systems, Computers, Controls, 2(5):45–50, 1971.
J. Gallagher. Transforming logic programs by specialising interpreters. In ECAI-86. 7th European Conference on Artificial Intelligence, Brighton Centre, United Kingdom, pages 109–122. Brighton: European Coordinating Committee for Artificial Intelligence, 1986.
A. Glenstrup, H. Makholm, and J.P. Secher. C-mix: Specialization of C programs. In Partial Evaluation: Practice and Theory. Springer-Verlag, 1998.
R. Glück, R. Nakashige, and R. Zöchling. Binding-time analysis applied to mathematical algorithms. In J. Doležal and J. Fidler, editors, System Modelling and Optimization, pages 137–146. Chapman and Hall, 1995.
C. Goad. Automatic construction of special purpose programs. In D.W. Loveland, editor, 6th Conference on Automated Deduction, New York, USA (Lecture Notes in Computer Science, vol. 138), pages 194–208. Berlin: Springer-Verlag, 1982.
C.K. Hoist and J. Launchbury. Handwriting cogen to avoid problems with static typing. In Draft Proceedings, Fourth Annual Glasgow Workshop on Functional Programming, Skye, Scotland, pages 210–218. Glasgow University, 1991.
H.F. Jacobsen. Speeding up the back-propagation algorithm by partial evaluation. Student Project 90-10-13, DIKU, University of Copenhagen, Denmark. (In Danish), October 1990.
N.D. Jones, C.K. Gomard, and P. Sestoft. Partial Evaluation and Automatic Program Generation. Englewood Cliffs, NJ: Prentice Hall, 1993.
J. Jørgensen. Generating a compiler for a lazy language by partial evaluation. In Nineteenth ACM Symposium on Principles of Programming Languages, Albuquerque, New Mexico, January 1992, pages 258–268. New York: ACM, 1992.
S.C. Kleene. Introduction to Metamathematics. Princeton, NJ: D. van Nostrand, 1952.
J. Launchbury. A strongly-typed self-applicable partial evaluator. In J. Hughes, editor, Functional Programming Languages and Computer Architecture, Cambridge, Massachusetts, August 1991 (Lecture Notes in Computer Science, vol. 523), pages 145–164. ACM, Berlin: Springer-Verlag, 1991.
T. Mogensen. The application of partial evaluation to ray-tracing. Master’s thesis, DIKU, University of Copenhagen, Denmark, 1986.
T. Mogensen and P. Sestoft. Partial evaluation. In Allen Kent and James G. Williams, editors, Encyclopedia of Computer Science and Technology, volume 37, pages 247–279. Marcel Dekker, 270 Madison Avenue, New York, New York 10016, 1997.
F.G. Pagan. Converting interpreters into compilers. Software — Practice and Experience, 18(6):509–527, June 1988.
F.G. Pagan. Comparative efficiency of general and residual parsers. Sigplan Notices, 25(4):59–65, April 1990.
G. Richardson. The realm of Nevryon. Micro User, June 1991.
S. Safra and E. Shapiro. Meta interpreters for real. In H.-J. Kugler, editor, Information Processing 86, Dublin, Ireland, pages 271–278. Amsterdam: North-Holland, 1986.
A. Takeuchi and K. Furukawa. Partial evaluation of Prolog programs and its application to meta programming. In H.-J. Kugler, editor, Information Processing 86, Dublin, Ireland, pages 415–420. Amsterdam: North-Holland, 1986.
V.F. Turchin et al., Bazisnyj Refal i ego realizacija na vychislitel’nykh mashinakh (Basic Refal and Its Implementation on Computers). Moscow: GOSSTROJ SSSR, CNIPIASS, 1977. (In Russian).
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Mogensen, T.Æ. (1999). Partial Evaluation: Concepts and Applications. In: Hatcliff, J., Mogensen, T.Æ., Thiemann, P. (eds) Partial Evaluation. DIKU 1998. Lecture Notes in Computer Science, vol 1706. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47018-2_1
Download citation
DOI: https://doi.org/10.1007/3-540-47018-2_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66710-0
Online ISBN: 978-3-540-47018-2
eBook Packages: Springer Book Archive