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


Autoria(s): Cabeza Gras, Daniel; Hermenegildo, Manuel V.
Data(s)

01/03/2000

Resumo

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.

Formato

application/pdf

Identificador

http://oa.upm.es/14625/

Idioma(s)

eng

Publicador

Facultad de Informática (UPM)

Relação

http://oa.upm.es/14625/1/HERME_REFWORKS_2000-5.pdf

http://www.sciencedirect.com/science/article/pii/S1571066105801033

Direitos

http://creativecommons.org/licenses/by-nc-nd/3.0/es/

info:eu-repo/semantics/openAccess

Fonte

Electronic Notes in Theoretical Computer Science | 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

Palavras-Chave #Informática
Tipo

info:eu-repo/semantics/conferenceObject

Ponencia en Congreso o Jornada

PeerReviewed