Skip to main content

Automatic Program Specialization by Partial Evaluation: an Introduction

  • Chapter
Software Engineering im Scientific Computing
  • 78 Accesses

Summary

Partial evaluation is an automatic program optimization technique, similar in concept to, but in several ways different from optimizing compilers. Optimization is achieved by changing the times at which computations are performed. A partial evaluator can be used to overcome losses in performance that are due to highly parameterized, modular software. This has a quite remarkable impact on software development because it allows the design of general and reusable software without the penalty of being too inefficient. This papers gives an introduction to automatic program specialization by off-line partial evaluation.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 29.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 39.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Bibliography

  1. Lars Ole Andersen. Program analysis and specialization for the C programming language. DIKU Report 94/19, Department of Computer Science, University of Copenhagen, 1994.

    Google Scholar 

  2. Dines Bjøraer, Andrei P. Ershov, and Neil D. Jones, editors. Partial Evaluation and Mixed Computation. North-Holland, 1988.

    Google Scholar 

  3. Sandrine Blazy and Philippe Facon. Partial evaluation for the understanding of Fortran programs. International Journal of Soßware Engineering and Knowledge Engineering, 4 (4):535–559, 1994.

    Article  Google Scholar 

  4. Charles Consel and François Nöel. A general approach for run-time specialization and its application to C. In Twenty Third Symposium on Principles of Programming Languages, pages 145-156, ACM Press, 1996.

    Google Scholar 

  5. Olivier Danvy, Robert Glück, and Peter Thiemann, editors. Partial Evaluation. Proceedings. Lecture Notes in Computer Science. Springer-Verlag, to appear 1996.

    Google Scholar 

  6. Andrei P. Ershov. On the essence of compilation. In E. J. Neuhold, editor, Formal Description of Programming Concepts, pages 391-420. North-Holland, 1978.

    Google Scholar 

  7. Neil D. Jones, Carsten K. Gomard, and Peter Sestoft. Partial Evaluation and Automatic Program Generation. Prentice-Hall, 1993.

    Google Scholar 

  8. Paul Kleinrubatscher, Albert Kriegshaber, Robert Zöchling, and Robert Glück. Fortran program specialization. SIGPLAN Notices, 30(4):61–70, 1995.

    Article  Google Scholar 

  9. Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation. ACM Press, 1991, 1993, 1995.

    Google Scholar 

  10. Proceedings of the ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation. 1992, 1994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Wolfgang Mackens Siegfried M. Rump

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer Fachmedien Wiesbaden

About this chapter

Cite this chapter

Glück, R., Jones, N.D. (1996). Automatic Program Specialization by Partial Evaluation: an Introduction. In: Mackens, W., Rump, S.M. (eds) Software Engineering im Scientific Computing. Vieweg+Teubner Verlag, Wiesbaden. https://doi.org/10.1007/978-3-322-85027-0_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-322-85027-0_9

  • Publisher Name: Vieweg+Teubner Verlag, Wiesbaden

  • Print ISBN: 978-3-322-85028-7

  • Online ISBN: 978-3-322-85027-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics