HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
Web-Prolog
swi-web-prolog
HTML2018–2023
Web-Prolog / swi-web-prolog

swi-web-prolog

A proof-of-concept SWI-Prolog implementation of Web Prolog

6Distinct people
8Mentions
0Explicit recommenders
192GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A proof-of-concept SWI-Prolog implementation of Web Prolog

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year8 dated mentions

Observed mentions: 2018-06-11 20:54:15 UTC to 2023-04-19 05:43:32 UTC.

02462018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 6 mentions; 3 submissions, 3 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC633
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101

What Hacker News says

8 sources
I think that Prolog will rise again. If you have an hour to kill, check out this video introduction by Markus Triska about what makes Prolog unique: https://www.youtube.com/watch?v=8XUutFBbUrg Recently I have been working on getting Trealla Prolog to run in WebAssembly. Support is quite good now, with an easy-to-use JS library[1], Go library[2], and is now one of the best-supported languages for the Spin runtime[3]. I think it's particularly nice for validations, you can write some simple Prolog rules and run the same code on the client and the server now. I would like to explore this more with a dedicated library at some point. Built-in features like DCGs make parsing/generating all kinds of data trivial. I love it. I think the biggest barrier to Prolog adoption is that it has a really steep learning curve, and most people get burnt by h
Read the rest
alf-assed introductions in college that tick the 'talked about logic programming' box in the syllabus. You really have to think in a completely different way to write a good Prolog program. But, once you get the right mindset, it makes solving complex problems incredibly easy. I don't really buy the argument that Datalog is enough. Most Datalog implementations I've seen hack on a bunch of extensions to do things like list membership. It would be awesome to see some serious effort put into an efficient Prolog-based database. The closest thing I can think of is TerminusDB, which I've never used but I wish I could convince my company to try it out ;). My dream is to have some kind of magical serverless persistent Prolog interpreter in the cloud. That's where I hope to take this Wasm stuff at some point. Can you imagine how powerful it would be to use Prolog instead of GraphQL or whatever? Prolog is IMO the perfect language for querying things, with a 1:1 correspondence to how you write the data. It's like SQL without all the ugly bits (I like SQL too, of course). If this sounds cool to you, check out the paper/book on Web Prolog[4] which is a fascinating dive into what a Prolog-based networked query system could look like. [1]: http://github.com/guregu/trealla-js [2]: http://github.com/trealla-prolog/go [3]: https://github.com/guregu/trealla#spin-components [4]: https://github.com/Web-Prolog/swi-web-prolog/raw/master/book...
In Why did Prolog lose steam? (2010)
One very interesting development in this direction is Web Prolog by Torbjörn Lager: https://github.com/Web-Prolog/swi-web-prolog/raw/master/book... Quoting from the introduction: "In particular, we pick the 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." And quoting from Section 1.3 of the current draft: "Is the actor programming model compatible with the logic programming model, and does the combination of the two models make sense? Yes, we will try to show that the actor programming model of Web Prolog is able to co-exist harmoniously with its logic programming model, and that both models are usable in the same program, with actors used for mod
Read the rest
elling the reactive, deterministic interfaces to the user and other external entities, and with the non-deterministic component behaving as an actor, encapsulating the non-determinism." Chapter 3 cites your work directly: "Actors, as specified in (Hewitt et al., 1973), involve entities that have their own mailbox."
In “What Alan Kay Got Wrong About Objects”
This is relevant to the rabbit hole I have been going down this afternoon. Time to see if these two can be combined. Like many other scripting languages, Web Prolog lacks some of the capabilities of general purpose programming languages, such as file I/O, access to the OS and a foreign language interface, but since a Prolog Web node is implemented on top of a general purpose programming language it should be straightforward to delegate the need for such operations to this language. A programmer wishing to implement an application that needs to perform e.g. file I/O needs to be knowledgeable in the host language. For some nodes, it probably makes sense to offer an interface between Web Prolog and the host language. In the case of SWI-Prolog, such an interface is obviously already there. Torbj¨orn Lager (2018, June 18). Web Prolog and the P
Read the rest
In Helvetia – A lightweight approach to embed new languages into the host language
The primary author of this system is Torbjörn Lager, the inventor of Pengines: https://www.gu.se/english/research/publication/?publicationI... This functionality is the basis of many current web-based Prolog applications. Web Prolog is a natural successor of Pengines. The book also includes a comparison of the two approaches. Portability between implementations is a major goal and attraction of Web Prolog. Here is a quote from the book: An application written in Web Prolog is portable between different node implementations. Indeed, an application written in pure Web Prolog will not only be portable in the normal sense, but we will likely also be able to run it on a node that we do not own nor manage. The language is described as "based on Prolog, with a pinch of Erlang sprinkled in". A tutorial-style introduction to Web Prolog is also inc
Read the rest
In Web Prolog and the Programmable Prolog Web [pdf]

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.