Skip Navigation

The Computer Journal 1988 31(2):110-115; doi:10.1093/comjnl/31.2.110
© 1988 by British Computer Society
This Article
Right arrow Full Text (PDF)
Right arrow Alert me when this article is cited
Right arrow Alert me if a correction is posted
Services
Right arrow Email this article to a friend
Right arrow Similar articles in this journal
Right arrow Similar articles in ISI Web of Science
Right arrow Alert me to new issues of the journal
Right arrow Add to My Personal Archive
Right arrow Download to citation manager
Right arrow Search for citing articles in:
ISI Web of Science (2)
Right arrowRequest Permissions
Google Scholar
Right arrow Articles by Moffat, D. S.
Right arrow Articles by Gray, P. M. D.
Right arrow Search for Related Content
Social Bookmarking
 Add to CiteULike   Add to Connotea   Add to Del.icio.us  
What's this?

Perlog: A Prolog With Persistence and Modules

D. S. Moffat * and P. M. D. Gray *

Department of Computing Science, University of Aberdeen, Aberdeen AB9 2UB, UK

The Perlog system is a Prolog system whose clauses and terms can persist on secondary storege as objects in a database. The unit of commitment is the module, and all atoms indirectly reference their module name, unless they are declared to be global. The module acts as a source of protection and reference to all its clauses, and also provides checks on import/export and on privacy, especially in the case of Abstract Data Types. This paper describes the structure of the module name space and the reasons for the decisions, particularly the use of metacalls to access procedures in other modules, and procedures with multiple definitions in different modules. A method for resolving global name clashes between previously committed modules is described. A model of the interpreter is presented in order to define the semantics of procedure call and assert and consult in a fully modular system. An example is given of a version of assert using B-tree routines in the database for clause storage. The system has been implemented in C and Prolog and PS-Algol under UNIX{dagger} on a VAX.{ddagger}


Received September 1987.

* Department of Computing Science, University of Aberdeen, Aberdeen AB9 2UB


Add to CiteULike CiteULike   Add to Connotea Connotea   Add to Del.icio.us Del.icio.us    What's this?




Disclaimer:
Please note that abstracts for content published before 1996 were created through digital scanning and may therefore not exactly replicate the text of the original print issues. All efforts have been made to ensure accuracy, but the Publisher will not be held responsible for any remaining inaccuracies. If you require any further clarification, please contact our Customer Services Department.