Modules for prolog revisited

Rémy Haemmerlé, François Fages

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Module systems are an essential feature of programming languages as they facilitate the re-use of existing code and the development of general purpose libraries. Unfortunately, there has been no consensual module system for Prolog, hence no strong development of libraries, in sharp contrast to what exists in Java for instance. One difficulty comes from the call predicate which interferes with the protection of the code, an essential task of a module system. By distinguishing the called module code protection from the calling module code protection, we review the existing syntactic module systems for Prolog. We show that no module system ensures both forms of code protection, with the noticeable exceptions of Ciao-Prolog and XSB. We then present a formal module system for logic programs with calls and closures, define its operational semantics and formally prove the code protection property. Interestingly, we also provide an equivalent logical semantics of modular logic programs without calls nor closures, which shows how they can be translated into constraint logic programs over a simple module constraint system.

Original languageEnglish
Title of host publicationLogic Programming - 22nd International Conference, ICLP 2006, Proceedings
PublisherSpringer Verlag
Pages41-55
Number of pages15
ISBN (Print)9783540366355
DOIs
Publication statusPublished - 1 Jan 2006
Externally publishedYes
Event22nd International Conference on Logic Programming, ICLP 2006 - Seattle, WA, United States
Duration: 17 Aug 200620 Aug 2006

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume4079 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference22nd International Conference on Logic Programming, ICLP 2006
Country/TerritoryUnited States
CitySeattle, WA
Period17/08/0620/08/06

Fingerprint

Dive into the research topics of 'Modules for prolog revisited'. Together they form a unique fingerprint.

Cite this