Abstract
This paper describes the basic ideas we followed in the development of PROSE, a Prolog programming support environment we are implementing at our Department. We claim that standard Prolog must be adequately enhanced to be well suited to support the construction of an efficient programming environment. For this purpose, some new facilities are supplied by our Prolog (called Env_Prolog) which are mainly intended to allow the language:
-
—to handle programs as data and to partition the program database into disjoint sets of clauses;
-
—to support "editing" of clauses in the program database and the controlled execution of Prolog programs. Env_Prolog has been implemented by developing a new interpreter written in the C language. The paper will concentrate mainly on the interpreter and the support it offers to other tools of the environment.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
J.Bendl, P.Koves, P.Szeredi: The MProlog System; in Proc. of the Logic Programming Workshop, (S-A. Tarlund ed.) Hungary, July 1980.
K.A. Bowen and R.A. Kowalski: Amalgamating language and meta-language in logic programming; in Logic Programmino, (K.L. Clark and S-A. Tarlund, Eds), Academic Press, 1982, 153–172.
A.Colmerauer: Prolog and Infinite Trees; in Logic Programming, (K.L.Clark and S-A. Tarlund, Eds), Academic Press, 1982.
W.F. Clocksin and C.S. Mellish: Programming in Prolog, Springer Verlag, Berlin 1981.
N.Francez et al.: An Environment for Logic Programming; in Proc. of the ACM Sigplan Symp. on Languages Issues in Programming Environments; Seattle, June 1985, 179–190.
A.Feuer: Building Libraries in Prolog; AAAI-83, August 1983, pp. 550–552.
Kluzniak, Swpakozicw: Prolog for programmers; Academic Press, 1985.
A.Martelli and U.Montanari: An Efficient Unification Algorithm; ACM TOPLAS, 4,2, April 1982.
A.Martelli and G.F.Rossi: Efficient Unification with Infinite Terms in Logic Programming; in Proc. of FGCS84; International Conf. on Fifth Generation Computer Systems, Japan, 1984.
A.Martelli and G.F.Rossi: Toward a Prolog Programming Support Environment (in italian); Proc. of the First National Conference on Logic Programming, Genova, March 1986.
A.Martelli and G.F.Rossi: On the Semantics of Logic Programming Languages; in Proc of the 3 rd Conf. on Logic Programming, London, July 1981.
C.S.Mellish: An Alternative to Structure Sharing in the Implementation of a Prolog Interpreter; in Logic Programming, (K.L.Clark and S-A. Tarlund, Eds), Academic Press, 1982, 99–106.
A.Martelli and G.F.Rossi: PROSE: a Prolog Support Environment (in italian); Proc. of the Second National Conference on Logic Programming, Turin, May 1987.
L.Console and G.F.Rossi: FROG: a Prolog-based system for Prolog-based knowledge representation; in Artificial Intelligence and Information-Control Systems of Robots-87, (I.Plander, ed.), North-Holland, 1987,179–183.
C-Prolog User's Manual-Version 1.5; edited by F.Pereira, Technical Rept. 82/11, Edinburgh Computer Aided Architectural Design, Univ. of Edinburgh, February 1984.
A.Martelli and G.F.Rossi: An implementation of unification with infinite terms and its application to logic programming languages; Technical Rept., Dipartimento di Informatica, Univ. di Torino, 1987.
F.Fages: Formes canoniques dans les algebres booleennes et applications a la demonstration automatique; These de 3eme Cycle, Universite Paris VI, June 1983.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1988 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Martelli, A., Rossi, G.F. (1988). Enhancing Prolog to support Prolog programming environments. In: Ganzinger, H. (eds) ESOP '88. ESOP 1988. Lecture Notes in Computer Science, vol 300. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-19027-9_21
Download citation
DOI: https://doi.org/10.1007/3-540-19027-9_21
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-19027-1
Online ISBN: 978-3-540-38941-5
eBook Packages: Springer Book Archive