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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Belleannie, C., Brisset, P., Ridoux O., A Pragmatic Reconstruction of Lambda-Prolog, Publication Interne IRISA no. 877, October 1994 (revised 1997)
Bellé, G., Jay, C. B. and Moggi, E., Functorial ML, Proc. PLILP’ 96, Springer LNCS 1140, pp. 32–46, 1996
Clocksin, W. and Mellish, C. Programming in Prolog, Springer-Verlag, 1981
Coelho, H., Cotta, J. and Pereira, L.M. Prolog by Example, Springer-Verlag, New York, 1988
Deville, Y. Logic Programming: Systematic Program Development, Addison Wesley, 1990
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.
Gegg-Harrison, T. Learning Prolog in a Schema-Based Environment, Instructional Science, 20:173–192, 1991.
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
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
Jay, C.B., A semantics for shape, Science of Computer Programming, 25, pp. 251–283, 1995
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
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.
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
Lakhotia, A. A Workbench for Developing Logic Programs by Stepwise Enhancement, Ph.D. Thesis, Case Western Reserve University, 1989.
Nadathur, G., Miller D., An Overview of Lambda-Prolog, Proceedings of JICSLP (eds. Bowen, K. and Kowlaski, R.), pp. 810–827, MIT Press, 1988
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.)
O’Keefe, R. The Craft of Prolog, MIT Press, 1990
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
Sahlin, D. Mixtus: An Automatic Partial Evaluator for Full Prolog, New Generation Computing, 12(1), pp. 7–51, 1993
Sterling, L.S. and Kirschenbaum, M. Applying Techniques to Skeletons, in Constructing Logic Programs, (ed. J.M. Jacquet), pp. 127–140, Wiley, 1993.
Sterling, L.S. and Shapiro, E.Y. The Art of Prolog, 2nd edition, MIT Press, 1994.
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
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
Yardeni, E. and Shapiro E.Y., A Type System for Logic Programs, Journal of Logic Programming, 10(2), pp. 125–154, 1990
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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