We have discussed from a practical point of view a number of issues involved in writing Internet and WWW applications using LP/CLP systems. In doing so, we have described PiLLoW, an Internet/WWW programming library for LP/CLP systems. PiLLoW provides facilities for generating HTML structured documents, producing HTML forms, writing form handlers, accessing and parsing WWW documents, and accessing code posted at HTTP addresses. We have also described the architecture of some application classes, including automatic code downloading, using a high-level model of client-server interaction, active modules. Finally we have also described an architecture for automatic LP/CLP code downloading for local execution, using generic browsers. We believe that the CIAO PiLLoW library can ease substantially the process of developing WWW applications using computational logic systems.
We are currently working on extended versions of the library which for example may make extensive use of concurrency internally (on those LP/CLP systems that support it) to overlap network requests and include support for (active) VRML (some quite interesting work in this area, in the motivating context of MOOs, is presented in [30]).
In addition to being part of the &-Prolog/CIAO system, the PiLLoW library is provided as a fully public domain standard library for SICStus Prolog and other Prolog and CLP systems, supporting most of its functionality. Please contact the authors or consult our WWW site http://www.clip.dia.fi.upm.es and the PiLLoW page ( http://www.clip.dia.fi.upm.es/miscdocs/pillow/pillow.html) for details.