# Ann: Paper about Web Prolog

**URL:** <https://swi-prolog.discourse.group/t/ann-paper-about-web-prolog/1117>\
**Category:** Announce\
**Tags:** paper\
**Created:** [August 27, 2019, 8:01am UTC](https://swi-prolog.discourse.group/t/ann-paper-about-web-prolog/1117 "2019-08-27T08:01:00Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![torbjorn.lager](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/torbjorn.lager/32/7890_2.png) [@torbjorn.lager](https://swi-prolog.discourse.group/u/torbjorn.lager)\
**Post date:** [August 27, 2019, 8:01am UTC](https://swi-prolog.discourse.group/t/ann-paper-about-web-prolog/1117/1 "2019-08-27T08:01:00Z")

</div>

Dear All,

I just got back from ICFP in Berlin where I 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](https://gup.ub.gu.se/file/207827)

Comments are of course welcome!

And should you want to know more, there is (as some of you already know) a github repo from which a proof-of-concept implementation can be downloaded and taken for a trail run - and there’s a tutorial too!

The repo is here: [https://github.com/Web-Prolog/swi-web-prolog](https://github.com/Web-Prolog/swi-web-prolog)

I’m happy to let you know that Damon Sicore, former contributor and leader in the Mozilla Firefox and Wikipedia projects, has taken interest in the Web Prolog project. In his own words, he “wants to secure attention and resources in order to publicly advance the project to enable Prolog to be a key component of the Web”.

Expect to read more about our plans for Web Prolog in the near future.

Best regards,  
Torbjörn
