Abstract
Program specialization can divide a computation into several computation stages. The program generator which we designed and implemented for a higher-order functional language converts programs into very compact multi-level generating extensions that guarantee fast successive specialization. Experimental results show a remarkable reduction of generation time and generator size compared to previous attempts of multiple self-application.
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
L.O. Andersen. Program Analysis and Specialization for the C Programming Language. PhD thesis, DIKU Report 94/19, Dept. of Computer Science, University of Copenhagen, 1994.
L. Beckman, A. Haxaldson, Ö. Oskarsson, E. Sandewall. A partial evaluator and its use as a programming tool. Artificial Intelligence, 7:319–357, 1976.
L. Birkedal, M. Welinder. Hand-writing program generator generators. In M. Hermenegildo, J. Penjam (eds.), Programming Language Implementation and Logic Programming. LNCS 844, 198–214, Springer-Verlag 1994.
D. Bjørner, A.P. Ershov, N.D. Jones (eds.). Partial Evaluation and Mixed Computation. North-Holland 1988.
A. Bondorf, J. Jørgensen. Efficient analyses for realistic off-line partial evaluation. Journal of Functional Programming, 3(3):315–346, 1993.
O. Danvy, R. Glück, P. Thiemann (eds.). Partial Evaluation. LNCS 1110, Springer-Verlag 1996.
U. Eisenecker. Generative programming with C++. In H. Mössenböck (ed.), Modular Programming Languages, LNCS 1204, 351–365, Springer-Verlag 1997.
A.P. Ershov. On the essence of compilation. In E.J. Neuhold (ed.), Formal Description of Programming Concepts, 391–420. North-Holland 1978.
R. Glück. Towards multiple self-application. In Proceedings of the Symposium on Partial Evaluation and Semantics-Based Program Manipulation, 309–320, ACM Press 1991.
R. Glück, J. Jørgensen. Efficient multi-level generating extensions for program specialization. In M. Hermenegildo, S.D. Swierstra (eds.) Programming Languages, Implementations, Logics and Programs, LNCS 982, 259–278, Springer-Verlag 1995.
R. Glück, J. Jørgensen. Fast binding-time analysis for multi-level specialization. In D. Bjørner, M. Broy, I.V. Pottosin (eds.) Perspectives of System Informatics, LNCS 1181, 261–272, Springer-Verlag 1996.
R. Glück, J. Jørgensen. An automatic program generator for multi-level specialization. Lisp and Symbolic Computation, 10(2): 113–158, 1997.
N.D. Jones, C.K. Gomard, and P. Sestoft. Partial Evaluation and Automatic Program Generation. Prentice-Hall 1993.
N.D. Jones, P. Sestoft, and H. Søndergaard. Mix: a self-applicable partial evaluator for experiments in compiler generation. LISP and Symbolic Computation, 2(1):9–50, 1989.
C.K. Hoist. Syntactic currying: yet another approach to partial evaluation. Student report, DIKU, Dept. of Computer Science, University of Copenhagen, 1989.
F. Nielson, H.R. Nielson. Multi-level lambda-calculus: an algebraic description. In R. Glück, P. Thiemann (eds.). Partial Evaluation. LNCS 1110, Springer-Verlag [6], 338–354, 1996.
F. Nielson, H.R. Nielson. Prescriptive frameworks for multi-level lambda-calculi. In ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, 193–202, ACM Press 1997.
S.A. Romanenko. A compiler generator produced by a self-applicable specializer can have a surprisingly natural and understandable structure. In A.P. Ershov, N.D. Jones (eds.). Partial Evaluation and Mixed Computation. North-Holland [4], 445–463, 1988.
W. Taha, T. Sheard. Multi-stage programming with explicit annotations. In ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, 203–217, ACM Press 1997.
P. Thiemann. Cogen in six lines. In International Conference on Functional Programming, 180–189, ACM Press 1996.
P. Thiemann. The PGG system — user manual. Dept. of Computer Science, University of Nottingham, 1998.
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
Glück, R., Jørgensen, J. (1999). Multi-Level Specialization. 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_13
Download citation
DOI: https://doi.org/10.1007/3-540-47018-2_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66710-0
Online ISBN: 978-3-540-47018-2
eBook Packages: Springer Book Archive