Web-Prolog / swi-web-prolog

A proof-of-concept SWI-Prolog implementation of Web Prolog
BSD 2-Clause "Simplified" License
186 stars 10 forks source link

Nostalgia #2

Closed danbri closed 6 years ago

danbri commented 6 years ago

Not actually an issue, just wanted to say that this takes me back to https://www-archive.mozilla.org/rdf/doc/inference.html - in which Geoff Chapell @geochap wired up SWI Prolog to run inside the (ancient mozilla) browser. Things like Web assembly haven't really been explored for this yet. Anyway, interesting project, good luck, and do please close this issue - no point in cluttering the tracker! --Dan

torbjornlager commented 6 years ago

I vaguely remember reading about this attempt a long time ago, and since then have been looking for information about it without success. So thanks for the link! Such info will surely go into the section 1.8 - "A brief history of Logic Programming on the Web" - of my draft book.

As for Prolog in the browser using WebAssembly, it's on the roadmap for SWI-Prolog. See: https://github.com/SWI-Prolog/roadmap/issues/43

You may also want to have a look at SWISH (https://swish.swi-prolog.org/) which is a stable online IDE for Prolog, running 24/7 and having lots of users, especially among students taking CS courses involving logic programming and Prolog.

One of my long term goals is to replace the SWISH back-end with a Web Prolog node.

danbri commented 6 years ago

The other thing from that era was js-prolog, by my then-officemate Jan Grant, http://ioctl.org/logic/prolog-latest

A quick demo I made in the '90s is still running, showing a possible benefit of JS :) https://www.w3.org/1999/11/11-WWWProposal/rdfqdemo.html

torbjornlager commented 6 years ago

Thanks again! Might become another addition to history section of the book.

As a semantic web person with an interest also in Prolog, you may also be interested in, and may already have come across, the following paper by Jan Wielemaker et al.:

http://www.semantic-web-journal.net/content/cliopatria-swi-prolog-infrastructure-semantic-web

I think this paper shows, quite convincingly, that Prolog is a very suitable language for semantic web research and development. The paper is now a couple of years old, and things have improved since then. Tabling, for example, is now available also in SWI-Prolog.

Here is a link to the very mature and easy to use Semantic Web Library 3.0 - the main building block for the Cliopatria system described in the above paper:

http://www.swi-prolog.org/pldoc/doc_for?object=section(%27packages/semweb.html%27)