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 sprinkled in. We stay really, really close to traditional Prolog, indeed so close that the vast majority of example 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 intra-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 propose an architecture for what we think of as the Prolog Web.
Sun 18 Aug
|15:20 - 16:00|
|16:00 - 16:40|
Torbjörn LagerDepartment of Philosophy, Linguistics and Theory of Science, University of Gothenburg