Skip to main content

The Translation Power of the Futamura Projections

  • Conference paper
Book cover Perspectives of System Informatics (PSI 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2890))

Abstract

Despite practical successes with the Futamura projections, it has been an open question whether target programs produced by specializing interpreters can always be as efficient as those produced by a translator. We show that, given a Jones-optimal program specializer with static expression reduction, there exists for every translator an interpreter which, when specialized, can produce target programs that are at least as fast as those produced by the translator. This is not the case if the specializer is not Jones-optimal. We also examine Ershov’s generating extensions, give a parameterized notion of Jones optimality, and show that there is a class of specializers that can always produce residual programs that match the size and time complexity of programs generated by an arbitrary generating extension. This is the class of generation universal specializers. We study these questions on an abstract level, independently of any particular specialization method.

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. Abramov, S.M., Glück, R.: Combining semantics with non-standard interpreter hierarchies. In: Kapoor, S., Prasad, S. (eds.) FST TCS 2000. LNCS, vol. 1974, pp. 201–213. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  2. Ager, M.S., Danvy, O., Rohde, H.K.: On obtaining Knuth, Morris, and Pratt’s string matcher by partial evaluation. In: Proceedings of the Asian Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pp. 32–46. ACM Press, New York (2002)

    Chapter  Google Scholar 

  3. Danvy, O., López, P.E.M.: Tagging, encoding, and Jones optimality. In: Degano, P. (ed.) ESOP 2003. LNCS, vol. 2618, pp. 335–347. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  4. Ershov, A.P.: On the partial computation principle. Information Processing Letters 6(2), 38–41 (1977)

    Article  MATH  Google Scholar 

  5. Futamura, Y.: Partial evaluation of computing process – an approach to a compilercompiler. Systems, Computers, Controls 2(5), 45–50 (1971); Reprinted in Higher- Order and Symbolic Computation 12(4), 381–391 (1999)

    Google Scholar 

  6. Futamura, Y., Nogi, K.: Generalized partial computation. In: Bjørner, D., Ershov, A.P., Jones, N.D. (eds.) Partial Evaluation and Mixed Computation, pp. 133–151. North-Holland, Amsterdam (1988)

    Google Scholar 

  7. Glück, R.: On the generation of specializers. Journal of Functional Programming 4(4), 499–514 (1994)

    Article  Google Scholar 

  8. Glück, R.: Jones optimality, binding-time improvements, and the strength of program specializers. In: Proceedings of the Asian Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pp. 9–19. ACM Press, New York (2002)

    Chapter  Google Scholar 

  9. Glück, R., Jørgensen, J.: Generating transformers for deforestation and supercompilation. In: LeCharlier, B. (ed.) SAS 1994. LNCS, vol. 864, pp. 432–448. Springer, Heidelberg (1994)

    Google Scholar 

  10. Glück, R., Klimov, A.V.: A regeneration scheme for generating extensions. Information Processing Letters 62(3), 127–134 (1997)

    Article  MathSciNet  Google Scholar 

  11. Heering, J.: Partial evaluation and ω-completeness of algebraic specifications. Theoretical Computer Science 43(2-3), 149–167 (1986)

    Article  MATH  MathSciNet  Google Scholar 

  12. Jones, N.D.: Challenging problems in partial evaluation and mixed computation. In: Bjørner, D., Ershov, A.P., Jones, N.D. (eds.) Partial Evaluation and Mixed Computation, pp. 1–14. North-Holland, Amsterdam (1988)

    Google Scholar 

  13. Jones, N.D.: Partial evaluation, self-application and types. In: Paterson, M.S. (ed.) ICALP 1990. LNCS, vol. 443, pp. 639–659. Springer, Heidelberg (1990)

    Chapter  Google Scholar 

  14. Jones, N.D., Gomard, C.K., Sestoft, P.: Partial Evaluation and Automatic Program Generation. Prentice-Hall, Englewood Cliffs (1993)

    MATH  Google Scholar 

  15. Jørgensen, J.: Generating a compiler for a lazy language by partial evaluation. In: Conference Record of the Nighteenth Symposium on Principles of Programming Languages, pp. 258–268. ACM Press, New York (1992)

    Google Scholar 

  16. Lavrov, S.S.: On the essence of mixed computation. In: Bjørner, D., Ershov, A.P., Jones, N.D. (eds.) Partial Evaluation and Mixed Computation, pp. 317–324. North-Holland, Amsterdam (1988)

    Google Scholar 

  17. Makholm, H.: On Jones-optimal specialization for strongly typed languages. In: Taha, W. (ed.) SAIG 2000. LNCS, vol. 1924, pp. 129–148. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  18. Mogensen, T. Æ.: Partially static structures in a self-applicable partial evaluator. In: Bjørner, D., Ershov, A.P., Jones, N.D. (eds.) Partial Evaluation and Mixed Computation, pp. 325–347. North-Holland, Amsterdam (1988)

    Google Scholar 

  19. Mogensen, T. Æ.: Separating binding times in language specifications. In: Fourth International Conference on Functional Programming and Computer Architecture, London, UK, September 1989, pp. 14–25. ACM Press and Addison-Wesley (1989)

    Google Scholar 

  20. Mogensen, T. Æ.: Evolution of partial evaluators: removing inherited limits. In: Danvy, O., Thiemann, P., Glück, R. (eds.) Dagstuhl Seminar 1996. LNCS, vol. 1110, pp. 303–321. Springer, Heidelberg (1996)

    Google Scholar 

  21. Sestoft, P.: The structure of a self-applicable partial evaluator. In: Ganzinger, H., Jones, N.D. (eds.) Programs as Data Objects. LNCS, vol. 217, pp. 236–256. Springer, Heidelberg (1985)

    Google Scholar 

  22. Sestoft, P.: ML pattern match compilation and partial evaluation. In: Danvy, O., Thiemann, P., Glück, R. (eds.) Dagstuhl Seminar 1996. LNCS, vol. 1110, pp. 446–464. Springer, Heidelberg (1996)

    Google Scholar 

  23. Skalberg, S.: Mechanical proof of the optimality of a partial evaluator. Master’s thesis, DIKU, Department of Computer Science, University of Copenhagen (1999)

    Google Scholar 

  24. Taha, W., Makholm, H., Hughes, J.: Tag elimination and Jones-optimality. In: Danvy, O., Filinski, A. (eds.) PADO 2001. LNCS, vol. 2053, pp. 257–275. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Glück, R. (2004). The Translation Power of the Futamura Projections. In: Broy, M., Zamulin, A.V. (eds) Perspectives of System Informatics. PSI 2003. Lecture Notes in Computer Science, vol 2890. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39866-0_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39866-0_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20813-6

  • Online ISBN: 978-3-540-39866-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics