Abstract
This paper gives an introduction to Turchin’s supercompiler, a program transformer for functional programs which performs optimizations beyond partial evaluation and deforestation. More precisely, the paper presents positive supercompilation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
B. Courcelle. Fundamental properties of infinite trees. Theoretical Computer Science, 25:95–169, 1983.
O. Danvy, R. Glück, and P. Thiemann, editors. Partial Evaluation, volume 1110 of Lecture Notes in Computer Science. Springer-Verlag, 1996.
N. Dershowitz. Termination of rewriting. Journal of Symbolic Computation, 3, 1987.
Y. Futamura, K. Nogi, and A. Takano. Essence of generalized partial computation. Theoretical Computer Science, 90(1):61–79, 1991.
R. Glück, J. Jørgensen, B. Martens, and M.H. Sørensen. Controlling conjunctive partial deduction. In H. Kuchen and D.S. Swierstra, editors, Programming Languages: Implementations, Logics and Programs, volume 1140 of Lecture Notes in Computer Science, pages 137–151. Springer-Verlag, 1996.
R. Glück and A.V. Klimov. Occam’s razor in metacomputation: the notion of a perfect process tree. In P. Cousot, M. Falaschi, G. Filè, and G. Rauzy, editors, Workshop on Static Analysis, volume 724 of Lecture Notes in Computer Science, pages 112–123. Springer-Verlag, 1993.
R. Glück and A.V. Klimov. A regeneration scheme for generating extensions. Information Processing Letters, 62(3):127–134, 1997.
R. Glück and M.H. Sørensen. Partial deduction and driving are equivalent. In M. Hermenegildo and J. Penjam, editors, Programming Languages: Implementations, Logics and Programs, volume 844 of Lecture Notes in Computer Science, pages 165–181. Springer-Verlag, 1994.
R. Glück and M.H. Sørensen. A roadmap to metacomputation by supercompilation. In Danvy et al. R. Glück, and P. Thiemann, editors. Partial Evaluation, volume 1110 of Lecture Notes in Computer Science. Springer-Verlag, 1996 [2], pages 137–160.
N.D. Jones. The essence of program transformation by partial evaluation and driving. In N.D. Jones, M. Hagiya, and M. Sato, editors, Logic, Language, and Computation, volume 792 of Lecture Notes in Computer Science, pages 206–224. Springer-Verlag, 1994. Festschrift in honor of S. Takasu.
A.V. Klimov and S.A. Romanenko. Metavychislitel’ dlja jazyka Refal. Osnovnye ponjatija i primery. (A metaevaluator for the language Refal. Basic concepts and examples). Preprint 71, Keldysh Institute of Applied Mathematics, Academy of Sciences of the USSR, Moscow, 1987. (in Russian).
D.E. Knuth, J.H. Morris, and V.R. Pratt. Fast pattern matching in strings. SIAM Journal on Computing, 6(2):323–350, 1977.
M. Krog and P. Rasmussen. Positive supercompilation. Manuscript, 1998.
J.-L. Lassez, M.J. Maher, and K. Marriott. Unification revisited. In J. Minker, editor, Foundations of Deductive Databases and Logic Programming, pages 587–625. Morgan Kaufmann, Los Altos, Ca., 1988.
M. Leuschel and B. Martens. Global control for partial deduction through characteristic atoms and global trees. In Danvy et al. R. Glück, and P. Thiemann, editors. Partial Evaluation, volume 1110 of Lecture Notes in Computer Science. Springer-Verlag, 1996 [2], pages 263–283.
B. Martens and J. Gallagher. Ensuring global termination of partial deduction while allowing flexible polyvariance. In L. Sterling, editor, International Conference on Logic Programming, pages 597–613. MIT Press, 1995.
A.P. Nemytykh, V.A. Pinchuk, and V.F. Turchin. A self-applicable supercompiler. In Danvy et al. R. Glück, and P. Thiemann, editors. Partial Evaluation, volume 1110 of Lecture Notes in Computer Science. Springer-Verlag, 1996 [2], pages 322–337.
K. Nielsen and M.H. Sørensen. Call-by-name CPS-translation as a binding-time improvement. In A. Mycroft, editor, Static Analysis Symposium, volume 983 of Lecture Notes in Computer Science, pages 296–313. Springer-Verlag, 1995.
D. Sands. Proving the correctness of recursion-based automatic program transformation. In P. Mosses, M. Nielsen, and M.I. Schwartzbach, editors, Theory and Practice of Software Development, volume 915 of Lecture Notes in Computer Science, pages 681–695. Springer-Verlag, 1995.
D. Sands. Total correctness by local improvement in program transformation. In Conference Record of the Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 221–232. ACM Press, 1995.
M.H. Sørensen. Turchin’s supercompiler revisited. Master’s thesis, Department of Computer Science, University of Copenhagen, 1994. DIKU-rapport 94/17.
M.H. Sørensen and R. Glück. An algorithm of generalization in positive super-compilation. In J.W. Lloyd, editor, Logic Programming: Proceedings of the 1995 International Symposium, pages 465–479. MIT Press, 1995.
M.H. Sørensen, R. Glück, and N.D. Jones. A positive supercompiler. Journal of Functional Programming, 6(6):811–838, 1996.
M.H.B. Sørensen. Convergence of program transformers in the metric space of trees. In J. Jeuring, editor, Mathematics of Program Construction, volume 1422 of Lecture Notes in Computer Science, pages 315–337. Springer-Verlag, 1998.
V.F. Turchin. The Phenomenon of Science. Columbia University Press, New York, 1977.
V.F. Turchin. A supercompiler system based on the language Refal. SIGPLAN Notices, 14(2):46–54, 1979.
V.F. Turchin. The concept of a supercompiler. ACM Transactions on Programming Languages and Systems, 8(3):292–325, 1986.
V.F. Turchin. Program transformation with metasystem transitions. Journal of Functional Programming, 3(3):283–313, 1993.
V.F. Turchin. Metacomputation: Metasystem transition plus Supercompilation. In Danvy et al. R. Glück, and P. Thiemann, editors. Partial Evaluation, volume 1110 of Lecture Notes in Computer Science. Springer-Verlag, 1996 [2], pages 481–510.
V.F. Turchin, R. Nirenberg, and D. Turchin. Experiments with a supercompiler. In ACM Conference on Lisp and Functional Programming, pages 47–55. ACM Press, 1982.
W. Vanhoof. Implementatie van een supercompilator voor een functionele taal (in dutch). Master’s thesis, University of Leuven, 1996.
P.L. Wadler. Deforestation: Transforming programs to eliminate intermediate trees. Theoretical Computer Science, 73:231–248, 1990.
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
Sørensen, M.H.B., Glück, R. (1999). Introduction to Supercompilation. 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_10
Download citation
DOI: https://doi.org/10.1007/3-540-47018-2_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66710-0
Online ISBN: 978-3-540-47018-2
eBook Packages: Springer Book Archive