Skip to main content

On Perfect Supercompilation

  • Conference paper
  • First Online:
Perspectives of System Informatics (PSI 1999)

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

Abstract

We extend positive supercompilation to handle negative as well as positive information. This is done by instrumenting the underlying unfold rules with a small rewrite system that handles constraints on. terms, thereby ensuring perfect information propagation. We illustrate this by transforming a naïvely specialised string matcher into an optimal one. The presented algorithm is guaranteed to terminate by means of generalisation steps.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. ACM. Proceeding of the ACM SIGPLAN Syposium on Partial Evaluation and Semantics-Based Program Manipulation, volume 26(9) of ACM SIGPLAN Notices, New York, September 1991. ACM Press.

    Google Scholar 

  2. Hubert Comon and Pierre Lescanne. Equational problems and disunification. Journal of Symbolic Computation, 7(3–4):371–425, March–April 1989.

    Article  MathSciNet  MATH  Google Scholar 

  3. Charles Consel and Olivier Danvy. Partial evaluation of pattern matching in strings. Information Processing Letters, 30(2):79–86, 1989.

    Article  Google Scholar 

  4. O. Danvy, R. Glück, and P. Thiemann, editors. Partial Evaluation, volume 1110 of Lecture Notes in Computer Science. Springer-Verlag, 1996.

    Google Scholar 

  5. Y. Futamura and K. Nogi. Generalized partial computation. In D. Bjørner, A.P. Ershov, and N.D. Jones, editors, Partial Evaluation and Mixed Computation, pages 133–151, Amsterdam, 1988. North-Holland.

    Google Scholar 

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

    Google Scholar 

  7. R. Glück and M.H. Sørensen. A roadmap to metacomputation by supercompilation. In R. Glück, and P. Thiemann, editors. Partial Evaluation, volume 1110 of Lecture Notes in Computer Science. Springer-Verlag, 1996 Danvy et al. [4], pages 137–160.

    Google Scholar 

  8. T.J. Hickey and D. Smith. Toward the partial evaluation of CLP languages. In PEPM’91 [1], pages 43–51.

    Google Scholar 

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

    Google Scholar 

  10. L. Lafave and J. P. Gallagher. Partial evaluation of functional logic programs in rewriting-based languages. Technical Report CSTR-97-001, Department of Computer Science, University of Bristol, March 1997.

    Google Scholar 

  11. L. Lafave and J. P. Gallagher. Extending the power of automatic constraint-based partial evaluators. ACM Computing Surveys, 30(3es), September 1998. Article 15.

    Google Scholar 

  12. Michael Leuschel and Danny De Schreye. Constrained partial deduction and the preservation of characteristic trees. New Generation Computing, 1997.

    Google Scholar 

  13. Michael Leuschel, Bern Martens, and Danny De Schreye. Controlling generalization and polyvariance in partial deduction of normal logic programs. ACM Transactions on Programming Languages and Systems, 20(1):208–258, January 1998.

    Article  Google Scholar 

  14. Greg Nelson and Derek C. Oppen. Fast decision procedures based on congruence closure. Journal of the ACM, 27(2):356–364, April 1980.

    Article  MATH  MathSciNet  Google Scholar 

  15. J. P. Secher. Perfect supercompilation. Technical Report 99/01, Department of Computer Science, University of Copenhagen, 1999.

    Google Scholar 

  16. D. Smith. Partial evaluation of pattern matching in constraint logic programming. In PEPM’91 [1], pages 62–71.

    Google Scholar 

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

    Chapter  Google Scholar 

  18. M. H. Srensen and R. Glück. Introduction to supercompilation. In DIKU Summer school on Partial Evaluation, Lecture Notes in Computer Science. Springer-Verlag, to appear.

    Google Scholar 

  19. A. Takano. Generalized partial computation for a lazy functional language. In PEPM’91 [1], pages 1–11.

    Google Scholar 

  20. A. Takano. Generalized partial computation using disunification to solve constraints. In M. Rusinowitch and J.L. Remy, editors, Conditional Term Rewriting Systems. Proceedings, volume 656 of Lecture Notes in Computer Science, pages 424–428. Springer-Verlag, 1993.

    Google Scholar 

  21. V.F. Turchin. The concept of a supercompiler. ACM Transactions on Programming Languages and Systems, 8(3):292–325, 1986.

    Article  MATH  MathSciNet  Google Scholar 

  22. V.F. Turchin. Metacomputation: Metasystem transition plus Supercompilation. In R. Glück, and P. Thiemann, editors. Partial Evaluation, volume 1110 of Lecture Notes in Computer Science. Springer-Verlag, 1996 Danvy et al. [4], pages 481–510.

    Google Scholar 

  23. P.L. Wadler. Deforestation: Transforming programs to eliminate intermediate trees. Theoretical Computer Science, 73:231–248, 1990.

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Secher, J.P., Sørensen, M.H. (2000). On Perfect Supercompilation. In: Bjøner, D., Broy, M., Zamulin, A.V. (eds) Perspectives of System Informatics. PSI 1999. Lecture Notes in Computer Science, vol 1755. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46562-6_10

Download citation

  • DOI: https://doi.org/10.1007/3-540-46562-6_10

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67102-2

  • Online ISBN: 978-3-540-46562-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics