To the top

Page Manager: Webmaster
Last update: 9/11/2012 3:13 PM

Tell a friend about this page
Print version

Pengines: Web Logic Progr… - University of Gothenburg, Sweden Till startsida
Sitemap
To content Read more about how we use cookies on gu.se

Pengines: Web Logic Programming Made Easy

Journal article
Authors Torbjörn Lager
Jan Wielemaker
Published in Theory and Practice of Logic Programming
Volume 14
Issue 4-5
Pages 539-552
ISSN 1471-0684
Publication year 2014
Published at Department of Philosophy, Linguistics and Theory of Science
Pages 539-552
Language en
Links dx.doi.org/10.1017/S147106841400019...
Keywords web programming, query languages, agent programming, distributed programming
Subject categories Computer and Information Science

Abstract

When developing a (web) interface for a deductive database, functionality required by the client is provided by means of HTTP handlers that wrap the logical data access predicates. These handlers are responsible for converting between client and server data representations and typically include options for paginating results. Designing the web accessible API is difficult because it is hard to predict the exact requirements of clients. Pengines changes this picture. The client provides a Prolog program that selects the required data by accessing the logical API of the server. The pengine infrastructure provides general mechanisms for converting Prolog data and handling Prolog non-determinism. The Pengines library is small (2000 lines Prolog, 150 lines JavaScript). It greatly simplifies defining an AJAX based client for a Prolog program and provides non-deterministic RPC between Prolog processes as well as interaction with Prolog engines similar to Paul Tarau's engines. Pengines are available as a standard package for SWI-Prolog 7.

Page Manager: Webmaster|Last update: 9/11/2012
Share:

The University of Gothenburg uses cookies to provide you with the best possible user experience. By continuing on this website, you approve of our use of cookies.  What are cookies?