The ciao module system: A new module system for prolog

Cabeza Gras, Daniel and Hermenegildo, Manuel V. (2000). The ciao module system: A new module system for prolog. In: "Parallelism and Implementation Technology for (Constraint) Logic Programming (in connection with ICLP'99, International Conference on Logic Programming)", 1999.

Description

Title: The ciao module system: A new module system for prolog
Author/s:
  • Cabeza Gras, Daniel
  • Hermenegildo, Manuel V.
Item Type: Presentation at Congress or Conference (Article)
Event Title: Parallelism and Implementation Technology for (Constraint) Logic Programming (in connection with ICLP'99, International Conference on Logic Programming)
Event Dates: 1999
Title of Book: Electronic Notes in Theoretical Computer Science
Date: March 2000
Volume: 30
Subjects:
Freetext Keywords: Sepárate compilation, Program processing, Executable construction, Modularity, Prolog, Ciao-prolog, Recopilación por separado, El proceso de programas, Construccion de ejecutables, Modularidad.
Faculty: Facultad de Informática (UPM)
Department: Inteligencia Artificial
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB) | Preview

Abstract

Ciao Prolog incorporates a module system which allows sepárate compilation and sensible creation of standalone executables. We describe some of the main aspects of the Ciao modular compiler, ciaoc, which takes advantage of the characteristics of the Ciao Prolog module system to automatically perform sepárate and incremental compilation and efficiently build small, standalone executables with competitive run-time performance, ciaoc can also detect statically a larger number of programming errors. We also present a generic code processing library for handling modular programs, which provides an important part of the functionality of ciaoc. This library allows the development of program analysis and transformation tools in a way that is to some extent orthogonal to the details of module system design, and has been used in the implementation of ciaoc and other Ciao system tools. We also describe the different types of executables which can be generated by the Ciao compiler, which offer different tradeoffs between executable size, startup time, and portability, depending, among other factors, on the linking regime used (static, dynamic, lazy, etc.). Finally, we provide experimental data which illustrate these tradeoffs.

More information

Item ID: 14624
DC Identifier: http://oa.upm.es/14624/
OAI Identifier: oai:oa.upm.es:14624
Official URL: http://www.sciencedirect.com/science/article/pii/S1571066105801136
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 13 Mar 2013 08:29
Last Modified: 21 Apr 2016 14:22
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM