- Manuel V. Hermenegildo19,20,
- F. Bueno20,
- M. Carro19,20,
- P. López-García19,22,
- R. Haemmerlé20,
- E. Mera21,
- J. F. Morales19 &
- …
- G. Puebla20
Part of the book series:Lecture Notes in Computer Science ((LNPSE,volume 6826))
Included in the following conference series:
1173Accesses
Abstract
Ciao is a logic-based, multi-paradigm programming system. One of its most distinguishing features is that it supports a large number of semantic and syntactic language features which can be selectively activated or deactivated for each program module. As a result, a module can be written in, for example, ISO-Prolog plus constraints and higher order, while another can be a pure logic module with a different control rule such as iterative deepening and/or tabling, and perhaps using constructive negation. A powerful and modular extension mechanism allows user-level design and implementation of such features and sub-languages.
Another distinguishing feature of Ciao is its powerful assertion language, which allows expressing many kinds of program properties (ranging from, e.g., moded types to resource consumption), as well as tests and documentation. The compiler is capable of statically finding violations of these properties or verifying that programs comply with them, and issuing certificates of this compliance. The compiler also performs many types of optimizations, including automatic parallelization. It offers very competitive performance, while retaining the flexibility and interactive development of a dynamic language.
We will present a hands-on overview of the system, through small examples which emphasize the novel aspects and the motivations which lie behind Ciao’s design and implementation.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Hermenegildo, M.V., Bueno, F., Carro, M., López, P., Mera, E., Morales, J.F., Puebla, G.: An Overview of Ciao and its Design Philosophy. Theory and Practice of Logic Programming (2011),http://arxiv.org/abs/1102.5497
Author information
Authors and Affiliations
Madrid Institute of Advanced Studies, in SW Development Technology (IMDEA Software Institute), Spain
Manuel V. Hermenegildo, M. Carro, P. López-García & J. F. Morales
Universidad Politécnica de Madrid (UPM), Spain
Manuel V. Hermenegildo, F. Bueno, M. Carro, R. Haemmerlé & G. Puebla
Universidad Complutense de Madrid (UCM), Spain
E. Mera
Scientific Research Council (CSIC), Spain
P. López-García
- Manuel V. Hermenegildo
You can also search for this author inPubMed Google Scholar
- F. Bueno
You can also search for this author inPubMed Google Scholar
- M. Carro
You can also search for this author inPubMed Google Scholar
- P. López-García
You can also search for this author inPubMed Google Scholar
- R. Haemmerlé
You can also search for this author inPubMed Google Scholar
- E. Mera
You can also search for this author inPubMed Google Scholar
- J. F. Morales
You can also search for this author inPubMed Google Scholar
- G. Puebla
You can also search for this author inPubMed Google Scholar
Editor information
Editors and Affiliations
Department of Informatics, Aristotle University of Thessaloniki, 54124, Thessaloniki, Greece
Nick Bassiliades
Queensland Research Laboratory, NICTA, PO Box 6020, 4067, St. Lucia, QLD, Australia
Guido Governatori
Computer Science Department, Corporate Semantic Web, Freie Universität Berlin, Königin-Luise-Str. 24/26, 14495, Berlin, Germany
Adrian Paschke
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hermenegildo, M.V.et al. (2011). An Overview of the Ciao System. In: Bassiliades, N., Governatori, G., Paschke, A. (eds) Rule-Based Reasoning, Programming, and Applications. RuleML 2011. Lecture Notes in Computer Science, vol 6826. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-22546-8_2
Download citation
Publisher Name:Springer, Berlin, Heidelberg
Print ISBN:978-3-642-22545-1
Online ISBN:978-3-642-22546-8
eBook Packages:Computer ScienceComputer Science (R0)
Share this paper
Anyone you share the following link with will be able to read this content:
Sorry, a shareable link is not currently available for this article.
Provided by the Springer Nature SharedIt content-sharing initiative