Towards modular extensions for a modular language

Morales Caballero, José Francisco and Hermenegildo, Manuel V. and Haemmerlé, R. (2011). Towards modular extensions for a modular language. Monografía (Technical Report). Facultad de Informática (UPM), Madrid, Spain.


Title: Towards modular extensions for a modular language
  • Morales Caballero, José Francisco
  • Hermenegildo, Manuel V.
  • Haemmerlé, R.
Item Type: Monograph (Technical Report)
Title of Book: Technical Reports and Manuals del Instituto IMDEA Software
Date: January 2011
Freetext Keywords: Compilation, Modules, Modular program processing, Separate compilation, Prolog, Ciao, Complilación, Módulos, Procesamiento de programas modulares, Compilación separada.
Faculty: Facultad de Informática (UPM)
Department: Inteligencia Artificial
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (937kB) | Preview


Modularity allows the construction of complex designs from simpler, independent units that most of the time can be developed separately. In this paper we are concerned with developing mechanisms for easily implementing modular extensions to modular (logic) languages. By (language) extensions we refer to different groups of syntactic definitions and translation rules that extend a language. Our application of the concept of modularity in this context is twofold. We would like these extensions to be modular, in the above sense, i.e., we should be able to develop different extensions mostly separately. At the same time, the sources and targets for the extensions are modular languages, i.e., such extensions may take as input separate pieces of code and also produce separate pieces of code. Dealing with this double requirement involves interesting challenges to ensure that modularity is not broken: first, combinations of extensions (as if they were a single extension) must be given a precise meaning. Also, the separate translation of multiple sources (as if they were a single source) must be feasible. We present a detailed description of a code expansion-based framework that proposes novel solutions for these problems. We argue that the approach, while implemented for Ciao, can be adapted for other languages and Prolog-based systems.

More information

Item ID: 14686
DC Identifier:
OAI Identifier:
Official URL:
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 23 Mar 2013 08:09
Last Modified: 21 Apr 2016 14:27
  • 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