ABSTRACT
We describe a programming environment for Prolog, a common logic programming language. The services offered by our system assist a Prolog user in the tasks of composing, editing, and storing logic (rule-based) programs, as well as in the control of their execution for debugging purposes.
In order to facilitate effective debugging of Prolog programs, we propose a new model of computation that can handle both pure Prolog and impure (side-effect causing) Prolog operations quite gracefully. This model employs two stacks representing the state of a computation with respect to the two major activities of Prolog execution: recursion and backtracking. This representation, in addition to being quite clear and intuitive, is easy to display on a terminal's screen and can be further processed.
We also describe a Prolog oriented editor with which the user may easily create and update Prolog source programs and, further, inspect states of computation as generated by the debugger.
- 1.Alberga, C. N., A. L. Brown, G. B. Leeman, Jr., M. Mikelsons, M. N. Wegman, "A Program Development Tool", IBM Journal of Research and Development, 28, 1 (January 1984), pp. 60-73. Google ScholarDigital Library
- 2.Allison, Lloyd, "Syntax Directed Program Editing", Software-Practice and Experience, 13, (1983), pp. 453-465.Google ScholarCross Ref
- 3.Clocksin, W. F., and C. S. Mellish, Programming in Prolog, Springer Verlag, 1981. Google ScholarDigital Library
- 4.Delisle, N. M., D. E. Menikosy, and M. D. Schwartz, "Viewing a Programming Environment as a Single Tool", Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, Peter Henderson, Ed., Pittsburgh. PA, April 1984. Google ScholarDigital Library
- 5.Francez, N., B. Klebanski, and A. Pnueli, "Backtracking in Recursive Computations", Acta Informatica, 8 (1977), pp. 125-144.Google ScholarCross Ref
- 6.Hammond, P., and M. Sergot, APES: Augmented Prolog for Expert Systems, Reference Manual (micro-Prolog version), July 1984.Google Scholar
- 7.Horgan, J. R., and D. J. Moore, "Techniques for Improving Language Based Editors", Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, Peter Henderson, Ed., Pittsburgh, PA, April 1984. Google ScholarDigital Library
- 8.McCabe, F. G., K. L. Clark, and B. D. Steel, micro-Prolog 3.1 Programmer's Reference Manual (CP/M and MSDOS Versions), Fourth Edition, March 1984.Google Scholar
- 9.Pereira, L. M., and A. Porto, "Selective Backtracking", in Logic Programming (K. L. Clark and S.-A. Tarnlund, editors), Academic Press, New York, 1982, pp. 107-114.Google Scholar
- 10.Teitelbaum, T., and T. Reps, "A Syntax-directed Programming Environment", Communications of the ACM, 24, 9 (September 1981), pp. 563-573. Google ScholarDigital Library
- 11.Weinreb, D., and D. Moon, Lisp Machine Manual (third edition), MIT AI Laboratory, 1982. Google ScholarDigital Library
- 12.Zelkovitz, M. V., "A Small Contribution to Editing with a Syntax Directed Editor", Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, Peter Henderson, Ed., Pittsburgh, PA, April 1984. Google ScholarDigital Library
Index Terms
- An environment for logic programming
Recommendations
An environment for logic programming
We describe a programming environment for Prolog, a common logic programming language. The services offered by our system assist a Prolog user in the tasks of composing, editing, and storing logic (rule-based) programs, as well as in the control of ...
Linear and temporal logic programming language
ACS'06: Proceedings of the 6th WSEAS international conference on Applied computer scienceRecent logic calculi open new possibilities for logic programming. Apparently the most important of them is a linear logic which makes possible to solve problems by resources treatment. The linear logic has already been used for several proposals of ...
Comments