Skip to main content

A Higher Order Reconstruction of Stepwise Enhancement

  • Conference paper
  • First Online:
Logic Program Synthesis and Transformation (LOPSTR 1997)

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

Abstract

This paper presents two views of stepwise enhancement, one a pragmatic syntax-based approach and the other a semantic approach based on higher order functions and relating to shape and polytypism. The approaches are outlined, and the perhaps surprisingly close relation-ship between the two described. By combining the advantages of both approaches, it is shown how more code in both functional and logic programming languages can be constructed in a systematic and partially automated way.

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. Belleannie, C., Brisset, P., Ridoux O., A Pragmatic Reconstruction of Lambda-Prolog, Publication Interne IRISA no. 877, October 1994 (revised 1997)

    Google Scholar 

  2. Bellé, G., Jay, C. B. and Moggi, E., Functorial ML, Proc. PLILP’ 96, Springer LNCS 1140, pp. 32–46, 1996

    Google Scholar 

  3. Clocksin, W. and Mellish, C. Programming in Prolog, Springer-Verlag, 1981

    Google Scholar 

  4. Coelho, H., Cotta, J. and Pereira, L.M. Prolog by Example, Springer-Verlag, New York, 1988

    MATH  Google Scholar 

  5. Deville, Y. Logic Programming: Systematic Program Development, Addison Wesley, 1990

    Google Scholar 

  6. Fuchs, N. and Fromherz, M. Schema-based Transformations of Logic Programs, Proc. 5th International Workshop on Logic Program Synthesis and Transformation, Proietti, M. (ed.), pp. 111–125, Springer-Verlag, 1991.

    Google Scholar 

  7. Gegg-Harrison, T. Learning Prolog in a Schema-Based Environment, Instructional Science, 20:173–192, 1991.

    Article  Google Scholar 

  8. Gegg-Harrison, T. Representing Logic Program Schemata in Lambda-Prolog, Proc. 12th International Logic Programming Conference (ed. L. Sterling), pp. 467–481, MIT Press, 1995

    Google Scholar 

  9. Jansson, P. and Jeuring, J. PolyP — a polytypic programming language extension. In Conference Record of POPL’ 97: The 24th ACM SIGPLAN-SIGACT. Symposium on Principles of Programming Languages, pp. 470–482, 1997

    Google Scholar 

  10. Jay, C.B., A semantics for shape, Science of Computer Programming, 25, pp. 251–283, 1995

    Article  MATH  MathSciNet  Google Scholar 

  11. Jay, C.B. and Cockett, J.R.B. Shapely Types and Shape Polymorphism, Proc. Programming Languages and Systems — ESOP’ 94: 5th European Symposium on. Programming, (ed. D. Sannella), Springer LNCS, pp. 302–316, Edinburgh, U.K., April 1994

    Google Scholar 

  12. Jeuring, J. and Jansson, P. Polytypic programming. In J. Launchbury, E. Meijer and T. Sheard Advanced Functional Programming, LNCS 1129, pp. 68–114, Springer-Verlag, 1996.

    Google Scholar 

  13. Kirschenbaum, M., Michaylov, S. and Sterling, L.S. Skeletons and Techniques as a Normative Approach to Program Development in Logic-Based Languages, Proc. ACSC’96, Australian Computer Science Communications, 18(1), pp. 516–524, 1996

    Google Scholar 

  14. Lakhotia, A. A Workbench for Developing Logic Programs by Stepwise Enhancement, Ph.D. Thesis, Case Western Reserve University, 1989.

    Google Scholar 

  15. Nadathur, G., Miller D., An Overview of Lambda-Prolog, Proceedings of JICSLP (eds. Bowen, K. and Kowlaski, R.), pp. 810–827, MIT Press, 1988

    Google Scholar 

  16. Naish, L. Higher Order Logic Programming in Prolog, Proc. Workshop on Multi-Paradigm Logic Programming, JICSLP’96, Bonn, 1996 (Also available as Tech. Report 96/2, Dept. Computer Science, University of Melbourne, 1996.)

    Google Scholar 

  17. O’Keefe, R. The Craft of Prolog, MIT Press, 1990

    Google Scholar 

  18. Power, A.J. and Sterling, L.S. A Notion of Map between Logic Programs. Proceedings of 7th ICLP (eds. Warren and Szeredi), pp. 390–404, MIT Press, 1990

    Google Scholar 

  19. Sahlin, D. Mixtus: An Automatic Partial Evaluator for Full Prolog, New Generation Computing, 12(1), pp. 7–51, 1993

    MATH  Google Scholar 

  20. Sterling, L.S. and Kirschenbaum, M. Applying Techniques to Skeletons, in Constructing Logic Programs, (ed. J.M. Jacquet), pp. 127–140, Wiley, 1993.

    Google Scholar 

  21. Sterling, L.S. and Shapiro, E.Y. The Art of Prolog, 2nd edition, MIT Press, 1994.

    Google Scholar 

  22. Sterling, L.S. and Yalçinalp, U. Logic Programming and Software Engineering — Implications for Software Design, Knowledge Engineering Review, 11(4), pp. 333–345, 1996

    Article  Google Scholar 

  23. Vasconcelos, W. and Fuchs, N.E. An Opportunistic Approach for Logic Program Analysis and Optimisation using Enhanced Schema-based Transformations, Proc. LOPSTR’95, (ed. M. Proietti), Springer LNCS, pp. 174–188, 1995

    Google Scholar 

  24. Yardeni, E. and Shapiro E.Y., A Type System for Logic Programs, Journal of Logic Programming, 10(2), pp. 125–154, 1990

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Naish, L., Sterling, L. (1998). A Higher Order Reconstruction of Stepwise Enhancement. In: Fuchs, N.E. (eds) Logic Program Synthesis and Transformation. LOPSTR 1997. Lecture Notes in Computer Science, vol 1463. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49674-2_13

Download citation

  • DOI: https://doi.org/10.1007/3-540-49674-2_13

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65074-4

  • Online ISBN: 978-3-540-49674-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics