Developed with PiLLoW The PiLLoW Pages

Programming in (Constraint) Logic Languages on the Web


Providing full WWW connectivity for LP and CLP systems

Welcome to the PiLLoW package home page. This package is a public domain HTML/XML/HTTP conectivity package for Logic Programming and Constraint Programming systems.

Copyright: This package is provided under the GNU Library General Public License

Downloading: The package has been developed in the context of the Ciao Prolog system and it comes as part of this system's libraries, i.e., to use PiLLoW within Ciao you only need to load the appropriate library. However, PiLLoW is also available for a number of other popular LP/CLP systems, see the links below for downloading.

Support: The PiLLoW/Ciao developers can be reached at Bugs should be reported to Specific professional support and maintenance services are available. Please contact for details.

Subscribing to the PiLLoW/Ciao mailing list: If you download PiLLoW, we highly recommended that you subscribe to the mailing list, so that you receive updates, bug fixes, and any other related info. You can subscribe by checking the approriate option during the download process, or by sending an ascii message to, containing in the body the word subscribe alone in one line. Discussion is limited to PiLLoW or Ciao-Prolog related topics and we will keep your email address strictly confidential. An archive of all messages to the list is available.

Documentation: Apart from the reference manual included with the distribution (as part of the Ciao reference manual in the case of the Ciao system) and available on-line below we have prepared an on-line tutorial describing Internet/WWW programming in general and with PiLLoW in particular as slides with examples (in pdf-recommended- or html) or as a (somewhat older) paper in on-line version or ps file. These documents explain the functionality of most of the library. You have also access here to the README and INSTALL files included with the distribution.

Examples: Here are some (very simple) examples of what can be done with the package (the actual possibilities are of course endless). They are prepared to run in the Ciao system, in other systems they need minor changes, notably in the header.

* A simple HTML page and the code to produce it
* A simple form generator + handler and the code to produce it
* A richer form generator + handler and the code to produce it
These are a few sample applications which have been interfaced to the WWW using PiLLoW:
* WEBCHAT, a WWW version of CHAT system (a geographical database with a natural language interface) by D.H.D. Warren and F.C.N. Pereira (distributed version and WWW interface by M. Hermenegildo)
* StructWeb: Biosequence structure searching on the Web using clp(FD) by David Gilbert
* REVISE - a non-monotonic reasoning system by Michael Schroeder
* A Termination Test for Logic Programs by Michael Codish and Cohavit Taboch
Other pointers: This package has been developed by Manuel Hermenegildo and Daniel Cabeza in the CLIP Group of the Department of Artificial Intelligence, School of Computer Science of the Technical University of Madrid.


Documentation/sources of the PiLLoW package:

pillow: The PiLLoW Web Programming Library

The PiLLoW library (``Programming in Logic Languages on the Web'') is a public domain Internet/WWW programming library for Logic Programming Systems which simplifies the process of writing applications for such environment. The library provides facilities for generating HTML or XML structured documents by handling them as Herbrand terms, producing HTML forms, writing form handlers, processing HTML templates, accessing and parsing WWW documents (either HTML or XML), accessing code posted at HTTP addresses, etc.

The PiLLoW library has been developed in the context of the &-Prolog and Ciao systems, but it has been adapted to a number of popular Logic Programming systems. Note, however, that this manual is written for the Ciao system, so if you use it in other systems, minor details in the documentation may not completely agree. For example, whereas in Ciao the library is a package which loads modules html and http, in the other systems it is just one module pillow. Thus, do not consider the Library usage information in other systems.

PiLLoW is distributed under the GNU Library General Public License.

List of all available PiLLoW distributions (tared, gzipped)

Last modified on: Fri Jul 13 18:00:00 CEST 2001.

Please visit also the CLIPCLIP laboratory home page!


Send feedback on this WWW site to