An overview of the ciao multiparadigm language and program development environment and its design philosophy


Autoria(s): Hermenegildo, Manuel V.; Bueno Carrillo, Francisco; Carro Liñares, Manuel; López García, Pedro; Morales Caballero, José Francisco; Puebla Sánchez, Alvaro Germán
Data(s)

2008

Resumo

We describe some of the novel aspects and motivations behind the design and implementation of the Ciao multiparadigm programming system. An important aspect of Ciao is that it provides the programmer with a large number of useful features from different programming paradigms and styles, and that the use of each of these features can be turned on and off at will for each program module. Thus, a given module may be using e.g. higher order functions and constraints, while another module may be using objects, predicates, and concurrency. Furthermore, the language is designed to be extensible in a simple and modular way. Another important aspect of Ciao is its programming environment, which provides a powerful preprocessor (with an associated assertion language) capable of statically finding non-trivial bugs, verifying that programs comply with specifications, and performing many types of program optimizations. Such optimizations produce code that is highly competitive with other dynamic languages or, when the highest levéis of optimization are used, even that of static languages, all while retaining the interactive development environment of a dynamic language. The environment also includes a powerful auto-documenter. The paper provides an informal overview of the language and program development environment. It aims at illustrating the design philosophy rather than at being exhaustive, which would be impossible in the format of a paper, pointing instead to the existing literature on the system.

Formato

application/pdf

Identificador

http://oa.upm.es/14603/

Idioma(s)

eng

Publicador

Facultad de Informática (UPM)

Relação

http://oa.upm.es/14603/1/HERME_REFWORKS_2007-5.pdf

http://link.springer.com/chapter/10.1007%2F978-3-540-68679-8_14

info:eu-repo/semantics/altIdentifier/doi/10.1007/978-3-540-68679-8_14

Direitos

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

info:eu-repo/semantics/openAccess

Fonte

An overview of the ciao multiparadigm language and program development environment and its design philosophy | En: Concurrency, Graphs and Models | pag. 209-237 | Springer Berlin Heidelberg | 2008

Palavras-Chave #Informática
Tipo

info:eu-repo/semantics/bookPart

Sección de Libro

PeerReviewed