Skip to main content

Inherited Limits

  • Conference paper

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

Abstract

We study the evolution of partial evaluators over the past fifteen years from a particular perspective: The attempt to prevent structural bounds in the original programs from imposing limits on the structure of residual programs. It will often be the case that a language allows unbounded numbers or sizes of particular features, but each program (being finite) will only have a finite number or size of these features. If the residual programs cannot overcome the bounds given in the original program, that can be seen as a weakness in the partial evaluator, as it potentially limits the effectiveness of residual programs. We show how historical developments in partial evaluators have removed inherited limits, and suggest how this principle can be used as a guideline for further development.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. L. Birkedal and M. Welinder. Partial evaluation of Standard ML. Master’s thesis, DIKU, University of Copenhagen, Denmark, 1993. DIKU Research Report 93/22.

    Google Scholar 

  2. M.A. Bulyonkov. A theoretical approach to polyvariant mixed computation. In D. Bjørner, A.P. Ershov, and N.D. Jones, editors, Partial Evaluation and Mixed Computation, pages 51–64. Amsterdam: North-Holland, 1988.

    Google Scholar 

  3. O. Danvy. On the evolution of partial evaluators. Technical report, DART Technical Report, University of Aarhus, 1993.

    Google Scholar 

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

    Google Scholar 

  5. O. Danvy and U. P. Schultz. Lambda-dropping: Transforming recursive equations into programs with block structure. In Partial Evaluation and Semantics-Based Program Manipulation, Amsterdam, The Netherlands, June 1997, pages 90–106. New York: ACM, 1997.

    Google Scholar 

  6. A. De Niel, E. Bevers, and K. De Vlaminck. Program bifurcation for a polymorphically typed functional language. In Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut (Sigplan Notices, vol. 26, no. 9, September 1991), pages 142–153. New York: ACM, 1991.

    Google Scholar 

  7. D. Dussart, E. Bevers, and K. De Vlaminck. Polyvariant constructor specialisation. In Partial Evaluation and Semantics-Based Program Manipulation, La Jolla, California, June 1995, pages 54–65. New York: ACM, 1995.

    Google Scholar 

  8. D. Dussart, R. Heldal, and J. Hughes. Module-sensitive program specialisation. In SIGPLAN’ 97 Conference on Programming Language Design and Implementation, June 1997, Las Vegas, pages 206–214. New York: ACM, 1997.

    Chapter  Google Scholar 

  9. C.K. Gomard and N.D. Jones. A partial evaluator for the untyped lambda-calculus. Journal of Functional Programming, 1(1):21–69, January 1991.

    Article  MathSciNet  MATH  Google Scholar 

  10. R. Heldal and J. Hughes. Partial evaluation and separate compilation. In Partial Evaluation and Semantics-Based Program Manipulation, Amsterdam, The Netherlands, June 1997, pages 1–11. New York: ACM, 1997.

    Google Scholar 

  11. J. Hughes. Type specialisation for the λ-calculus; or, a new paradigm for partial evaluation based on type inference. In Danvy et al. R. Glück, and P. Thiemann, editors. Partial Evaluation. Dagstuhl Castle, Germany, February 1996, volume 1110 of Lecture Notes in Computer Science. Berlin: Springer-Verlag [4], pages 183–215.

    Google Scholar 

  12. V.E. Itkin. On partial and mixed program execution. In Program Optimization and Transformation, pages 17–30. Novosibirsk: Computing Center, 1983. (In Russian).

    Google Scholar 

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

    Google Scholar 

  14. N.D. Jones, P. Sestoft, and H. Søndergaard. An experiment in partial evaluation: The generation of a compiler generator. In J.-P. Jouannaud, editor, Rewriting Techniques and Applications, Dijon, France. (Lecture Notes in Computer Science, vol. 202), pages 124–140. Berlin: Springer-Verlag, 1985.

    Chapter  Google Scholar 

  15. K. Malmkjær and P. Ørbæk. Polyvariant specialisation for higher-order, block-structured languages. In Partial Evaluation and Semantics-Based Program Ma nipulation, La Jolla, California, June 1995, pages 66–76. New York: ACM, 1995.

    Google Scholar 

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

    Google Scholar 

  17. T. Mogensen. Separating binding times in language specifications. In Fourth International Conference on Functional Programming Languages and Computer Architecture, London, England, September 1989, pages 14–25. Reading, MA: Addison-Wesley, 1989.

    Google Scholar 

  18. T. Mogensen. Self-applicable partial evaluation for pure lambda calculus. In Partial Evaluation and Semantics-Based Program Manipulation, San Francisco, California, June 1992 (Technical Report YALEU/DCS/RR-909), pages 116–121. New Haven, CT: Yale University, 1992.

    Google Scholar 

  19. T. Mogensen. Constructor specialization. In Partial Evaluation and Semantics-Based Program Manipulation, Copenhagen, Denmark, June 1993, pages 22–32. New York: ACM, 1993.

    Google Scholar 

  20. T. Æ. Mogensen. Evolution of partial evaluators: Removing inherited limits. In Danvy et al. R. Glück, and P. Thiemann, editors. Partial Evaluation. Dagstuhl Castle, Germany, February 1996, volume 1110 of Lecture Notes in Computer Science. Berlin: Springer-Verlag [4], pages 303–321.

    Google Scholar 

  21. S.A. Romanenko. Arity raiser and its use in program specialization. In N. Jones, editor, ESOP’ 90. 3rd European Symposium on Programming, Copenhagen, Denmark, May 1990 (Lecture Notes in Computer Science, vol. 432), pages 341–360. Berlin: Springer-Verlag, 1990.

    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

Mogensen, T.Æ. (1999). Inherited Limits. 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_6

Download citation

  • DOI: https://doi.org/10.1007/3-540-47018-2_6

  • 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