The ciao modular, standalone compiler and its generic program processing library

Cabeza Gras, Daniel and Hermenegildo, Manuel V. (2000). The ciao modular, standalone compiler and its generic program processing library. In: "Parallelism and Implementation Technology for (Constraint) Logic Programming (in connection with ICLP'99, International Conference on Logic Programming)", December 1st, 1999, Las Cruces, New Mexico, USA.

Description

Title: The ciao modular, standalone compiler and its generic program processing library
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: December 1st, 1999
Event Location: Las Cruces, New Mexico, USA
Title of Book: Electronic Notes in Theoretical Computer Science
Date: March 2000
Subjects:
Freetext Keywords: Separate compilation, Program processing, Executable construction, Modularity, Prolog, Ciao-prolog, Recopilación por separado, Procesamiento de programas, Construcción 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: 14625
DC Identifier: http://oa.upm.es/14625/
OAI Identifier: oai:oa.upm.es:14625
Official URL: http://www.sciencedirect.com/science/article/pii/S1571066105801033
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 13 Mar 2013 08:40
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