Developed with PiLLoW The PiLLoW Pages

Programming in (Constraint) Logic Languages on the Web

Providing full WWW connectivity for LP and CLP systems

Intro: 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. It is an evolution of the previously released html.pl package (in fact it includes html.pl version 96.2.1b). The package allows generating HTML/XML documents easily from LP/CLP systems, including HTML forms. It also provides facilities for parsing the input provided by HTML forms, as well as developing form handlers. Also, it supports manipulating HTML/XML templates (documents with "holes", to be filled automatically by programs). Lastly, it includes support for the HTTP protocol as a builtin, i.e., with it you can fetch a page from the net in a very simple way directly from Prolog.

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. In particular, the SICStus (2.1 or 3) port support all the package functionality. A source distribution with code for several systems is available at ftp://clip.dia.fi.upm.es/pub/software/pillow.tar.gz

Mailing list: We strongly recommend that you subscribe to the PiLLoW/Ciao mailing list, so that you receive related info. To subscribe, send a message to ciao-users-request@clip.dia.fi.upm.es containing in the body the word subscribe alone in one line. You can browse previous messages sent to the list. We will keep your email address strictly confidential.

Documentation: We have linked here the README file of the original version of the distribution. Rather than a formal manual for this version we have prepared an on-line tutorial describing Internet/WWW programming in general and with PiLLoW in particular as slides with examples or as a (somewhat older) paper in on-line version or Postscript file. These documents explain the functionality of most of the library. A reference manual is included with the distribution (as part of the Ciao reference manual in the case of the Ciao system). Finally, a reference manual for the previous version of the html.pl file (now included in the PiLLoW library) is available also.

Examples: Here are some (very simple) examples of what can be done with the package (the actual possibilities are of course endless):

* 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)
* REVISE - a non-monotonic reasoning system by Michael Schroeder
* StructWeb: Biosequence structure searching on the Web using clp(FD) by David Gilbert
* 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.

Key Resource Links2Go Key Resource in the Logic Programming topic


clip@dia.fi.upm.es Last modified: Fri Jul 14 14:59:25 2000