Skip to main content Accessibility help
×
Home
Hostname: page-component-559fc8cf4f-dxfhg Total loading time: 1.066 Render date: 2021-03-03T03:22:06.048Z Has data issue: true Feature Flags: { "shouldUseShareProductTool": true, "shouldUseHypothesis": true, "isUnsiloEnabled": true, "metricsAbstractViews": false, "figures": false, "newCiteModal": false, "newCitedByModal": true }

Pengines: Web Logic Programming Made Easy

Published online by Cambridge University Press:  21 July 2014

TORBJÖRN LAGER
Affiliation:
University of Gothenburg, Sweden (e-mail: Torbjorn.Lager@ling.gu.se)
JAN WIELEMAKER
Affiliation:
VU University Amsterdam, The Netherlands (e-mail: J.Wielemaker@vu.nl)
Corresponding

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. 1

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2014 

Access options

Get access to the full version of this content by using one of the access options below.

References

Brand, D. and Zafiropulo, P. 1983. On communicating finite-state machines. Journal of the ACM (JACM) 30, 2, 323342.CrossRefGoogle Scholar
Byrd, L. 1980. Understanding the control flow of Prolog programs. In Logic Programming Workshop, Tarnlund, S., Ed. Debrecen, Hungary, 127138.Google Scholar
Calejo, M. 2004. Interprolog: Towards a declarative embedding of logic programming in java. In JELIA, Alferes, J. J. and Leite, J. A., Eds. Lecture Notes in Computer Science, vol. 3229. Springer, 714717.Google Scholar
Shen, K., Schimpf, J., Novello, S., and Singer, J. 2002. A high-level generic interface to external programming languages for eclipse. In PADL, Krishnamurthi, S. and Ramakrishnan, C. R., Eds. Lecture Notes in Computer Science, vol. 2257. Springer, 262279.Google Scholar
Tarau, P. and Majumdar, A. 2009. Interoperating logic engines. In Practical Aspects of Declarative Languages. Springer, 137151.Google Scholar
Wielemaker, J., Huang, Z. and van der Meij, L. 2008. Swi-prolog and the web. Theory and Practice of Logic Programming 8, 3, 363392.CrossRefGoogle Scholar

Altmetric attention score

Full text views

Full text views reflects PDF downloads, PDFs sent to Google Drive, Dropbox and Kindle and HTML full text views.

Total number of HTML views: 0
Total number of PDF views: 51 *
View data table for this chart

* Views captured on Cambridge Core between September 2016 - 3rd March 2021. This data will be updated every 24 hours.

Send article to Kindle

To send this article to your Kindle, first ensure no-reply@cambridge.org is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about sending to your Kindle. Find out more about sending to your Kindle.

Note you can select to send to either the @free.kindle.com or @kindle.com variations. ‘@free.kindle.com’ emails are free but can only be sent to your device when it is connected to wi-fi. ‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

Find out more about the Kindle Personal Document Service.

Pengines: Web Logic Programming Made Easy
Available formats
×

Send article to Dropbox

To send this article to your Dropbox account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your <service> account. Find out more about sending content to Dropbox.

Pengines: Web Logic Programming Made Easy
Available formats
×

Send article to Google Drive

To send this article to your Google Drive account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your <service> account. Find out more about sending content to Google Drive.

Pengines: Web Logic Programming Made Easy
Available formats
×
×

Reply to: Submit a response


Your details


Conflicting interests

Do you have any conflicting interests? *