Abstract
In this paper, we propose a simple module system for Prolog. A minimal set of simple concepts realize the most important objectives of a module system: structuring of a larger piece of software into smaller logical units, information hiding, and abstract data types. It can be completely implemented by a preprocessor which maps modularized Prolog programs onto ordinary Prolog programs. The preprocessor itself can be written in Prolog and thus the module system can be integrated in any existing Prolog environment. It can easily be integrated with other preprocessor based software engineering aids, for example static mode and type checkers.
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
The Programming Language Ada, Reference Manual, American National Standards Institute, Inc., ANSI/MIL-STD-1815A-1983, Springer LNCS 155, 1983.
Y. C. Chan, B. Poterie, Modules in Prolog, British Standards Institution-IST/5/15 Prolog, Document PS/185, February 1987.
W. F. Clocksin, C. S. Mellish, Programming in Prolog, Springer Verlag Heidelberg, 1981.
R. Dietrich, Modes and Types for Prolog, Arbeitspapiere der GMD Nr. 185, February 1988.
R. Dietrich, F. Hagl, A Polymorphic Type System with Subtypes for Prolog, Proc. 2nd European Symposium on Programming (ESOP '88), Nancy, March 1988, Springer LNCS 300, 79–93.
S. Drosopoulou, Module and Type Systems-a Tour, Imperial College, London, Report IC/FPR/PROG/2.2/12, issue 2, March 1988.
J. A. Goguen, J. Meseguer, Equality, Types, Modules, and Generics for Logic Programming, Proc. 2nd International Conference on Logic Programming, Uppsala, Sweden, 1984, 115–126.
G. Goos, R. Dietrich, P. Kursawe, Prolog Arbeiten in Karlsruhe, in: W. Brauer, W. Wahlster (Eds.), Wissensbasierte Systeme, Springer Informatik Fachberichte 155, September 1987, pp 89–104.
N. Lindenberg, A. Bockmayr, R. Dietrich, P. Kursawe, B. Neidecker, C. Scharnhorst, I. Varsek, KA-Prolog: Sprachdefinition, Universität Karlsruhe, Interner Bericht 5/87 und Arbeitspapiere der GMD Nr. 249., May 1987.
D. MacQueen, Modules for Standard ML, ACM Symposium on LISP and Functional Programming, Austin, Texas, 1984.
A. Mycroft, R. A. O'Keefe, A Polymorphic Type System for Prolog, Artificial Intelligence 23, 1984, 295–307.
F. Pereira (Ed.), C-Prolog User's Manual, Version 1.5, EdCAAD, University of Edinburgh, February 1984.
R. S. Scowen (Ed.), Modules in Prolog-A Discussion Paper, ISO/IEC JTC1 SC22 WG12, Document N14, July 1988.
P. Szeredi, Module Concepts for Prolog, Proc. Workshop on Prolog Programming Environments, Linköping, 1982, pp. 69–80.
A. Ultsch, M. P. J. Fromherz, H.-P. Schmid, Modules in Prolog. In: R. Scowen (Ed.), PROLOG-Oxford 1988 papers, ISO/IEC JTC1 SC22 WG17, Document N12, April 1988.
D. H. D. Warren, An Abstract Prolog Instruction Set, Technical Note 309, Artificial Intelligence Center, SRI International, 1983.
N. Wirth, Programming in Modula-2, Springer Verlag, 1983.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1989 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dietrich, R. (1989). A preprocessor based module system for Prolog. In: Díaz, J., Orejas, F. (eds) TAPSOFT '89. TAPSOFT 1989. Lecture Notes in Computer Science, vol 352. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-50940-2_32
Download citation
DOI: https://doi.org/10.1007/3-540-50940-2_32
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-50940-0
Online ISBN: 978-3-540-46118-0
eBook Packages: Springer Book Archive