Skip to main content

Generalization in Hierarchies of Online Program Specialization Systems

  • Conference paper
  • First Online:
Logic-Based Program Synthesis and Transformation (LOPSTR 1998)

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

Abstract

In recent work, we proposed a simple functional language S-graph-n to study metaprogramming aspects of self-applicable online program specialization. The primitives of the language provide support for multiple encodings of programs. An important component of online program specialization is the termination strategy. In this paper we show that such a representation has the great advantage of simplifying generalization of multiply encoded data. After developing and formalizing the basic metaprogramming concepts, we extend two basic methods to multiply encoded data: most specific generalization and the homeomorphic embedding relation. Examples and experiments with the initial design of an online specializer illustrate their use in hierarchies of online program specializers.

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. S.M. Abramov. Metacomputation and program testing. In 1st International Workshop on Automated and Algorithmic Debugging, pages 121–135, Linköping University, Sweden, 1993.

    Google Scholar 

  2. M. Alpuente, M. Falaschi, and G. Vidal. Narrowing-driven partial evaluation of functional logic programs. In H.R. Nielson, editor, European Symposium on Programming, Lecture Notes in Computer Science, pages 46–61. Springer-Verlag, 1996.

    Google Scholar 

  3. K. Apt and F. Turini Meta-Logics and Logic Programming, MIT Press, 1995.

    Google Scholar 

  4. J. Barklund. A basis for a multilevel metalogic programming language. Technical Report 81, Uppsala University, Dept. of Computing Science, 1994.

    Google Scholar 

  5. R. Bol. Loop checking in partial deduction. J of Logic Programming, 16(1&2):25–46, 1993.

    Article  MATH  MathSciNet  Google Scholar 

  6. S. Costantini and G. Lanzarone. A metalogic programming language. In G. Levi and M. Martelli, editors, Proceedings Sixth International Conference on Logic Programming,pages 218–233. MIT Press, 1989.

    Google Scholar 

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

    Google Scholar 

  8. N. Dershowitz and J.-P. Jouannaud. Rewrite systems. In J. vanLeeuwen, editor, Handbook of Theoretical Computer Science, pages 244–320. Elsevier, 1992.

    Google Scholar 

  9. U. Eisenecker. Generative programming with C++. In H. Mössenböck, editor, Modular Programming Languages, volume 1204 of Lecture Notes in Computer Science,pages 351–365. Springer-Verlag, 1997.

    Google Scholar 

  10. R. Glück. On the mechanics of metasystem hierarchies in program transformation. In M. Proietti, editor, Logic Program Synthesis and Transformation LOPSTR’95, volume 1048 of Lecture Notes in Computer Science, pages 234–251. Springer-Verlag, 1996.

    Google Scholar 

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

    Article  Google Scholar 

  12. R. Glück and A.V. Klimov. Occam’s razor in metacomputation: the notion of a perfect process tree. In P. Cousot, et al., editors, Static Analysis. Proceedings. Lecture Notes in Computer Science, Vol. 724, pages 112–123. Springer-Verlag, 1993.

    Google Scholar 

  13. J. Hatcliff and R. Glück. Reasoning about hierarchies of online specialization systems. In Danvy et al. R. Glück, and P. Thiemann, editors. Partial Evaluation, volume 1110 of Lecture Notes in Computer Science. Springer-Verlag, 1996 [7].

    Google Scholar 

  14. P. Hill and J. Gallagher. Meta-programming in logic programming. Technical Report 94.22, School of Computer Studies, University of Leeds, 1994.

    Google Scholar 

  15. P. Hill and J.W. Lloyd. The Gödel Programming Language. MIT Press, 1994.

    Google Scholar 

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

    Google Scholar 

  17. M. Leuschel. Homeomorphic embedding for online termination. Technical Report DSSE-TR-98-11, University of Southampton, Dept. of Electronics and Computer Science, 1998.

    Google Scholar 

  18. M. Leuschel. On the power of homeomorphic embedding for online termination. G. Levi, editor, Static Analysis. Proceedings. Lecture Notes in Computer Science, Vol. 1503, pages 230–245, Springer-Verlag 1998.

    Chapter  Google Scholar 

  19. M. Leuschel and B. Martens. Global control for partial deduction through characteristic atoms and global trees. In Danvy et al. R. Glück, and P. Thiemann, editors. Partial Evaluation, volume 1110 of Lecture Notes in Computer Science. Springer-Verlag, 1996 [7], pages 263–283.

    Google Scholar 

  20. G. Nadathur and D. Miller. Higher-Order Logic Programming. In Handbook of Logic in AI and Logic Programming, Vol. 5, pages 499–590, Oxford University Press, 1998.

    MathSciNet  Google Scholar 

  21. A. Pettorossi, M. Proietti. Transformation of logic programs: Foundations and techniques. Journal of Logic Programming, 19 & 20:261–320, 1994.

    MathSciNet  Google Scholar 

  22. M.H. Sørensen and R. Glück. An algorithm of generalization in positive super-compilation. In J.W. Lloyd, editor, Logic Programming: Proceedings of the 1995 International Symposium, pages 465–479. MIT Press, 1995.

    Google Scholar 

  23. L. Sterling and E. Shapiro. The Art of Prolog. MIT Press, 1986.

    Google Scholar 

  24. W. Taha and T. Sheard. Multi-stage programming with explicit annotations. In Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 203–217, 1997.

    Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  26. V.F. Turchin. Metacomputation: metasystem transitions plus supercompilation. In Danvy et al.R. Glück, and P. Thiemann, editors. Partial Evaluation, volume 1110 of Lecture Notes in Computer Science. Springer-Verlag, 1996 [7].

    Google Scholar 

  27. V.F. Turchin. On generalization of lists and strings in supercompilation. Technical Report CSc. TR 96-002, City College of the City University of New York, 1996.

    Google Scholar 

  28. V.F. Turchin and A.P. Nemytykh. Metavariables: their implementation and use in program transformation. CSc. TR 95-012, City College of the City University of New York, 1995.

    Google Scholar 

  29. W. Vanhoof and B. Martens. To parse or not to parse. In N. Fuchs (ed.), Logic Program Synthesis and Transformation (LOPSTR’97), Lecture Notes in Computer Science, Vol. 1463, pages 314–333, Springer-Verlag 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., Hatcliff, J., Jørgensen, J. (1999). Generalization in Hierarchies of Online Program Specialization Systems. In: Flener, P. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 1998. Lecture Notes in Computer Science, vol 1559. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48958-4_10

Download citation

  • DOI: https://doi.org/10.1007/3-540-48958-4_10

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65765-1

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics