SWI-Prolog in the browser using WASM - Reply 1

Hi Jan. We are glad that our work continues encouraging advancements in the Prolog community! That is our job :slight_smile: Trealla is another system which was recently compiled to WebAssembly, and perhaps Scryer could do it too, since the Rust backend for WASM is quite mature. There is no reason why gprolog, XSB, Yap, or any other system could not be compiled with very low effort.

For anyone finding this project interesting, we kindly ask everyone to try and explore our system, file issue reports, contribute, and of course star our repository :wink: . Without your support, it is difficult to push the technology forward and some solutions in CiaoWASM (like in any more or less sophisticated part of the system) takes endless hours to develop and a few minutes to reimplement. We’ve exciting new unique features in our roadmap waiting for the next version (once they are ready).

Compatibility at the API level would be difficult at this point since it is not yet stable.

BTW, this reminds me that it is really a pity that we do not have a common Prolog forum to discuss, like in the old days. Newsgroups do not work, and a “single system” discourse group is not a solution.

2 Likes

I’m not too sure about the future of the WASM version. It is nice that it is possible. You can use it to create Prolog based applications in the browser and you can use it to create a playground as you did nicely. The WASM version is rather limited and I doubt all these problems can be fixed. It is also slow (~4 times slower than native in my measurements). We notably need something that matches the browser/JavaScript way for dealing with asynchronous programming.

Would be a pity if we end up with the same situation as we now have for the C interface. A portable high level interface for calling Prolog from JavaScript and back would be really nice …

I have advocated for a Discourse ran by e.g. ALP in the 50 years Prolog committee, but somehow it stalled :frowning: I don’t know why. Possibly some people think Discourse is not the way to go.

Hi Jan, Jose, all, yes, I think many of us agree that this common forum (proposed also in our common paper on the 50 years of Prolog) is a good idea, and I am confident that we can make it happen. The tool to use is a bit secondary, but of course some tool has to be eventually chosen, if we want anything to happen… :wink:

There is a Prolog subreddit (at r/prolog), it has almost 8k users and a somewhat low traffic. Not exactly a traditional forum, but it can be used similarly

(Nothing of Importance here)

| j4n_bur53
August 5 |

  • | - |

jfmc:

For anyone finding this project interesting, we kindly ask everyone to try and explore our system, file issue reports, contribute, and of course star our repository :wink:.

BTW, this reminds me that it is really a pity that we do not have a common Prolog forum to discuss, like in the old days. Newsgroups do not work, and a “single system” discourse group is not a solution.

A few minutes ago, when starting to make visible some limitations,
everything diverted in a blink from “hello community” to “bilateralism”.

Blocking operations in the WASM version (JavaScript expertise needed)

I’m happy to have a discussion on exchanging code and ideas between our projects. I think a telco is a better medium for that than here. Just drop me a personal message

Anyway, I have an admin questions, so playground
tickets don’t go into the Ciao Playground repo but into the Ciao repo?

I moved the ticket to the main Ciao repo. It is easier for us.