{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,3,13]],"date-time":"2024-03-13T21:00:18Z","timestamp":1710363618813},"reference-count":0,"publisher":"Cambridge University Press (CUP)","issue":"3","license":[{"start":{"date-parts":[[2001,6,15]],"date-time":"2001-06-15T00:00:00Z","timestamp":992563200000},"content-version":"unspecified","delay-in-days":45,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Theory and Practice of Logic Programming"],"published-print":{"date-parts":[[2001,5]]},"abstract":"<jats:p>We discuss from a practical point of view a number of issues involved in writing distributed \nInternet and WWW applications using LP\/CLP systems. We describe P<jats:italic>i<\/jats:italic>LL<jats:italic>o<\/jats:italic>W, a <jats:italic>public-domain<\/jats:italic> \nInternet and WWW programming library for LP\/CLP systems that we have designed \nto simplify the process of writing such applications. P<jats:italic>i<\/jats:italic>LL<jats:italic>o<\/jats:italic>W provides facilities for accessing \ndocuments and code on the WWW; parsing, manipulating and generating HTML and XML \nstructured documents and data; producing HTML forms; writing form handlers and CGI-scripts; \nand processing HTML\/XML templates. An important contribution of P<jats:italic>i<\/jats:italic>LL<jats:italic>o<\/jats:italic>W is to \nmodel HTML\/XML code (and, thus, the content of WWW pages) as terms. The P<jats:italic>i<\/jats:italic>LL<jats:italic>o<\/jats:italic>W \nlibrary has been developed in the context of the Ciao Prolog system, but it has been adapted \nto a number of popular LP\/CLP systems, supporting most of its functionality. We also \ndescribe the use of concurrency and a high-level model of client-server interaction, Ciao \nProlog's <jats:italic>active modules<\/jats:italic>, in the context of WWW programming. We propose a solution for \nclient-side downloading and execution of Prolog code, using generic browsers. Finally, we \nalso provide an overview of related work on the topic.<\/jats:p>","DOI":"10.1017\/s147106840100117x","type":"journal-article","created":{"date-parts":[[2003,10,16]],"date-time":"2003-10-16T06:51:10Z","timestamp":1066287070000},"page":"251-282","source":"Crossref","is-referenced-by-count":22,"title":["Distributed WWW programming using (Ciao-)Prolog and the PiLLoW library"],"prefix":"10.1017","volume":"1","author":[{"given":"DANIEL","family":"CABEZA","sequence":"first","affiliation":[]},{"given":"MANUEL","family":"HERMENEGILDO","sequence":"additional","affiliation":[]}],"member":"56","published-online":{"date-parts":[[2001,6,15]]},"container-title":["Theory and Practice of Logic Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S147106840100117X","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,3,29]],"date-time":"2019-03-29T15:25:37Z","timestamp":1553873137000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S147106840100117X\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2001,5]]},"references-count":0,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2001,5]]}},"alternative-id":["S147106840100117X"],"URL":"https:\/\/doi.org\/10.1017\/s147106840100117x","relation":{},"ISSN":["1471-0684","1475-3081"],"issn-type":[{"value":"1471-0684","type":"print"},{"value":"1475-3081","type":"electronic"}],"subject":[],"published":{"date-parts":[[2001,5]]}}}