A logical analysis of modules in logic programming
Journal of Logic Programming
Improving the execution speed of compiled prolog with modes, clause selection, and determinism
II and Colloquium on Functional and Logic Programming and Specifications (CFLP) on TAPSOFT '87: Advanced Seminar on Foundations of Innovative Software Development
Flow analysis of dynamic logic programs
Journal of Logic Programming
The Go¨del programming language
The Go¨del programming language
A feature constraint system for logic programming with entailment
FGCS'921 Selected papers of the conference on Fifth generation computer systems
Prolog: the standard: reference manual
Prolog: the standard: reference manual
Programming with global analysis (tutorial)
ILPS '97 Proceedings of the 1997 international symposium on Logic programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Program analysis, debugging, and optimization using the ciao system preprocessor
Proceedings of the 1999 international conference on Logic programming
Global Analysis of Standard Prolog Programs
ESOP '96 Proceedings of the 6th European Symposium on Programming Languages and Systems
An Assertion Language for Constraint Logic Programs
Analysis and Visualization Tools for Constraint Programming, Constrain Debugging (DiSCiPl project)
Proving Properties of Logic Programs by Abstract Diagnosis
Selected papers from the 5th LOMAPS Workshop on Analysis and Verification of Multiple-Agent Languages
A Documentation Generator for (C)LP Systems
CL '00 Proceedings of the First International Conference on Computational Logic
A Documentation Generator for (C)LP Systems
CL '00 Proceedings of the First International Conference on Computational Logic
Concurrency, Graphs and Models
Secure Implementation of Meta-predicates
PADL '09 Proceedings of the 11th International Symposium on Practical Aspects of Declarative Languages
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
CLP projection for constraint handling rules
Proceedings of the 13th international ACM SIGPLAN symposium on Principles and practices of declarative programming
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
Experiments in context-sensitive analysis of modular programs
LOPSTR'05 Proceedings of the 15th international conference on Logic Based Program Synthesis and Transformation
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
Theory and Practice of Logic Programming - Prolog Systems
An overview of ciao and its design philosophy
Theory and Practice of Logic Programming - Prolog Systems
Modular extensions for modular (logic) languages
LOPSTR'11 Proceedings of the 21st international conference on Logic-Based Program Synthesis and Transformation
LOPSTR'11 Proceedings of the 21st international conference on Logic-Based Program Synthesis and Transformation
Hi-index | 0.00 |
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 effective 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 official and de-facto standards, etc.