Re: Web Prolog and the programmable Prolog Web

Thank you Torbjorn for coming out of the lurk zone

Nice to know what people are working on
and for sharing the valuable resources

Just yesterday, I was thinking  in how many ways do AI and the Semantic Web
interface?

Looks to me like what you are doing is in that direction, possibly
important work

I do not write code, but I am familiar with Prolog and Lisp from my school
days
*when I didnt use Prolog for my implementation either- but I looked into
the possibility
Apparently many find Prolog indigestible to this date but its the most
robust AI language
afaik

I d like to understand more about how Web Prolog can relate/solve current
KR challenges
(if you could write that up that could be a paper)

and put forward one request:  can  Web prolog improve on Prolog pain points
in any way?  ie. can Web Prolog be better (easier, leaner, lighter perhaps?)

I would encourage to start a draft doc and link it to the group's wiki for
people to
stygmerize on this topic, and perhaps from my personal research perspective
draft a paper on the KR aspects of your work

PDM


On Thu, Sep 19, 2019 at 8:24 PM Torbjörn Lager <torbjorn.lager@gmail.com>
wrote:

> Dear All,
>
> I joined this community group some months ago, but have been lurking
> up till now. With this message, and in the hope that it may lead to a
> discussion, I'd like to inform you what I'm working on.
>
> It's an approach to AI and KR on the Web which is based on a mixture
> of the Prolog programming language, the Erlang programming language,
> and various standard web technologies. A lot of it is based on Prolog
> - a programming language which I guess at least some of you are at
> least somewhat familiar with. I'd like to "webize" Prolog, and
> "rebrand" it as a web logic programming language. Here are two
> "elevator pitches" that might whet your appetite:
>
> Web Prolog - the elevator pitch: Imagine a dialect of Prolog with
> actors and mailboxes and send and receive - all the means necessary
> for powerful concurrent and distributed programming. Alternatively,
> think of it as a dialect of Erlang with logic variables, backtracking
> search and a built-in database of facts and rules - the means for
> logic programming, knowledge representation and reasoning. Also, think
> of it as a web logic programming language. This is what Web Prolog is
> all about.
>
> The Prolog Web - the elevator pitch: Imagine the Web wrapped in
> Prolog, running on top of a distributed architecture comprising a
> network of nodes supporting HTTP and WebSocket APIs, as well as web
> formats such as JSON. Think of it as a high-level Web, capable of
> serving answers to queries - answers that follow from what the Web
> "knows". Moreover, imagine it being programmable, allowing Web Prolog
> source code to flow in either direction, from the client to the node
> or from the node to the client. This is what the Prolog Web is all
> about.
>
> If you've read this far, you probably want some more flesh on these
> bones, and perhaps a proof-of-concept implementation to play with. So
> here, in the order that you should probably look at them, is a list of
> relevant material:
>
> 1. In mid August this year, I went to ICFP in Berlin and presented a
> paper in the co-located Erlang'19 workshop. Here's the title and an
> abstract:
>
> **Intro to Web Prolog for Erlangers**
>
> We describe a programming language called *Web Prolog*. We think of it
> as a *web programming language*, or, more specifically, as a web
> *logic* programming language. The language is based on Prolog, with a
> good pinch of Erlang added. We stay close to traditional Prolog, so
> close that the vast majority of programs in Prolog textbooks will run
> without modification. Towards Erlang we are less faithful, picking
> only features we regard as useful in a web programming language, e.g.
> features that support concurrency, distribution and inter-process
> communication. In particular, we borrow features that make Erlang into
> an *actor programming language*, and on top of these we define the
> concept of a *pengine* -- a programming abstraction in the form of a
> special kind of actor which closely mirrors the behaviour of a Prolog
> top-level. On top of the pengine abstraction we develop a notion of
> *non-deterministic RPC* and the concept of *the Prolog Web*.
>
> The paper is here: https://gup.ub.gu.se/file/207827
>
> 2. A first draft of a manual covering the most interesting proposed
> additions to the ISO Prolog standard:
>
> https://raw.githubusercontent.com/Web-Prolog/swi-web-prolog/master/book/web-prolog-predicate-api.pdf
>
> 3. Should you want to know more, there is a github repo from which a
> proof-of-concept implementation can be downloaded and taken for a
> trail run - and there's a comprehensive tutorial too! The repo is
> here: https://github.com/Web-Prolog/swi-web-prolog
>
> 4. A longer (> 170 pages) manuscript “Web Prolog and the programmable
> Prolog Web”:
> https://github.com/Web-Prolog/swi-web-prolog/raw/master/book/web-prolog.pdf
>
>
> The plan is to set up a separate W3C Community Group devoted to this
> idea in a not-too-distant future. Perhaps a language such as Web
> Prolog deserves to be standardised by the W3C?
>
> What do you think? Questions, comments, etc. are most welcome!
>
> Best regards,
> Torbjörn Lager
>
>

Received on Friday, 20 September 2019 02:01:04 UTC