It is now widely accepted that separating programs into modules is useful in program development and maintenance. While many Prolog implementations include useful module systems, we argue that these systems can be improved in a number of ways, such as, for example, being more amenable to effiective global analysis and transformation and allowing separate compilation or sensible creation of standalone executables. We discuss a number of issues related to the design of such an improved module system for Prolog and propose some novel solutions. Based on this, we present the choices made in the Ciao module system, which has been designed to meet a number of objectives: allowing separate compilation, extensibility in features and in syntax, amenability to modular global analysis and transformation, enhanced error detection, support for meta-programming and higher-order, compatibility to the extent possible with oficial and de-facto standards, etc.
CITATION STYLE
Cabeza, D., & Hermenegildo, M. (2000). A new module system for prolog. Lecture Notes in Artificial Intelligence (Subseries of Lecture Notes in Computer Science), 1861, 131–148. https://doi.org/10.1007/3-540-44957-4_9
Mendeley helps you to discover research relevant for your work.