Skip to main content

Multi-Level Specialization

Extended Abstract

  • Conference paper
Book cover Partial Evaluation (DIKU 1998)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 1706))

Included in the following conference series:

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.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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.

References

  1. 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.

    Google Scholar 

  2. L. Beckman, A. Haxaldson, Ö. Oskarsson, E. Sandewall. A partial evaluator and its use as a programming tool. Artificial Intelligence, 7:319–357, 1976.

    Article  MATH  Google Scholar 

  3. 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.

    Chapter  Google Scholar 

  4. D. Bjørner, A.P. Ershov, N.D. Jones (eds.). Partial Evaluation and Mixed Computation. North-Holland 1988.

    Google Scholar 

  5. A. Bondorf, J. Jørgensen. Efficient analyses for realistic off-line partial evaluation. Journal of Functional Programming, 3(3):315–346, 1993.

    Article  Google Scholar 

  6. O. Danvy, R. Glück, P. Thiemann (eds.). Partial Evaluation. LNCS 1110, Springer-Verlag 1996.

    MATH  Google Scholar 

  7. U. Eisenecker. Generative programming with C++. In H. Mössenböck (ed.), Modular Programming Languages, LNCS 1204, 351–365, Springer-Verlag 1997.

    Chapter  Google Scholar 

  8. A.P. Ershov. On the essence of compilation. In E.J. Neuhold (ed.), Formal Description of Programming Concepts, 391–420. North-Holland 1978.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Chapter  Google Scholar 

  11. 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.

    Chapter  Google Scholar 

  12. R. Glück, J. Jørgensen. An automatic program generator for multi-level specialization. Lisp and Symbolic Computation, 10(2): 113–158, 1997.

    Article  Google Scholar 

  13. N.D. Jones, C.K. Gomard, and P. Sestoft. Partial Evaluation and Automatic Program Generation. Prentice-Hall 1993.

    Google Scholar 

  14. 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.

    Article  MATH  Google Scholar 

  15. C.K. Hoist. Syntactic currying: yet another approach to partial evaluation. Student report, DIKU, Dept. of Computer Science, University of Copenhagen, 1989.

    Google Scholar 

  16. 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.

    Chapter  Google Scholar 

  17. 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.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. P. Thiemann. Cogen in six lines. In International Conference on Functional Programming, 180–189, ACM Press 1996.

    Google Scholar 

  21. P. Thiemann. The PGG system — user manual. Dept. of Computer Science, University of Nottingham, 1998.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics