------------

CLIP GNU
The Ciao Prolog Development System WWW Site

------------


Copyright note: All this software is provided under the GNU GPL and/or LGPL licenses.

Support and mailing lists:

Personalized professional support and maintenance services are available (please contact clip@dia.fi.upm.es for details).

Tutorials and presentations:

Other documentation: see the reference manuals for each component below. Also, Ciao, LPdoc, and CiaoPP incorporate many recent results in programming languages research. See our list of publications available on-line and their references.

Version note: Not all versions of the Ciao system components are guaranteed to work together. On the other hand the current versions in this page have typically been checked to be fully compatible. Thus, if you download one component and also use other components, we recommend downloading the newer version of those components too.

Available components of the Ciao Prolog development system:


ciao: The Ciao Prolog System

Ciao is a public domain, next generation multi-paradigm programming environment with a unique set of features:

Ciao is distributed under the GNU Library General Public License (LGPL).

Current version (1.10#8 of 2007/1/28):

Latest distributed version for ciao:

This version is the latest available for ciao. It usually contains more features than the current version above, and some bug fixes. It is a snapshot of the development version, and some features may still be in an unstable state. Anyway, it should also have improvements over the current stable version.

List of all available versions for ciao:

Note: from 0.8 on, 'even' versions (e.g., 1.0, 1.4, ...) are stable distributions, whereas odd versions (e.g., 1.1, 1.5, ...) are versions under testing. These 'odd'-numbered versions typically are meant for people collaborating in Ciao development or people who would like to try out new functionality and help us with testing of upcoming versions.

ciaopp: The CIAO Prolog Preprocessor

ciaopp is the precompiler of the CIAO Prolog development environment. ciaopp can perform a number of program debugging, analysis and source-to-source transformation tasks on (CIAO) Prolog programs. These tasks include:

The information generated by analysis, the assertions in the system libraries, and the assertions optionally included in user programs as specifications are all written in the same assertion language, which is in turn also used by the CIAO system documentation generator, lpdoc.

ciaopp is distributed under the GNU general public license.

(In Beta test. Please contact webmaster@clip.dia.fi.upm.es for downloading instructions.)


lpdoc: The lpdoc Documentation Generator

lpdoc is an automatic program documentation generator for (C)LP systems.

lpdoc generates a reference manual automatically from one or more source files for a logic program (including ISO-Prolog, Ciao, many CLP systems, ...). It is particularly useful for documenting library modules, for which it automatically generates a description of the module interface. However, lpdoc can also be used quite successfully to document full applications and to generate nicely formatted plain ascii ``readme'' files. A fundamental advantage of using lpdoc to document programs is that it is much easier to maintain a true correspondence between the program and its documentation, and to identify precisely to what version of the program a given printed manual corresponds.

The quality of the documentation generated can be greatly enhanced by including within the program text:

The assertions and comments included in the source file need to be written using the Ciao system assertion language. A simple compatibility library is available to make traditional (constraint) logic programming systems ignore these assertions and comments allowing normal treatment of programs documented in this way.

The documentation is currently generated first in texinfo format. From the texinfo output, printed and on-line manuals in several formats (dvi, ps, info, html, etc.) can be easily generated automatically, using publicly available tools. lpdoc can also generate 'man' pages (Unix man page format) as well as brief descriptions in html or emacs info formats suitable for inclusion in an on-line index of applications. In particular, lpdoc can create and maintain fully automatically WWW and info sites containing on-line versions of the documents it produces.

The lpdoc manual (and the Ciao system manuals) are generated by lpdoc.

lpdoc is distributed under the GNU general public license.

Note: lpdoc is currently fully supported only on Linux and other Un*x-like systems, due to the use of Makefiles and other Un*x-related utilities. It is possible to run lpdoc under Win32 using Cygwin. A version which is written entirely in Prolog and will thus run standalone also on Win32 is currently under beta testing.

Current version (1.9#58 of 2002/4/19):

List of all available versions for lpdoc:


Last modified on: Sun Jan 28 18:33:12 CET 2007.

Please visit also the CLIP laboratory home page!

------------

Please send feedback on this WWW site to webmaster@clip.dia.fi.upm.es