Scryer Prolog was most recently discussed here in October 2021:<p><a href="https://news.ycombinator.com/item?id=28966133" rel="nofollow">https://news.ycombinator.com/item?id=28966133</a><p>Since then, a great number of improvements have become available, among them:<p>The system is now much faster, thanks to a much more compact internal representation of WAM heap cells. In addition, goals that occur as arguments of meta-predicates are now automatically compiled much more efficiently, avoiding superfluous lookups at runtime. Also, Adrían Arroyo Calle has contributed new and much improved HTTP server and client libraries, based on the Rust crate "hyper".<p>Scryer Prolog 0.9.1 and later versions ship with all these improvements and several smaller corrections and additional features.<p>Adrían also built the documentation system DocLog that he uses to generate this nice home page of the project:<p><a href="https://github.com/aarroyoc/doclog">https://github.com/aarroyoc/doclog</a><p>DocLog uses Djota, a Prolog implementation of the markup language Djot:<p><a href="https://github.com/aarroyoc/djota">https://github.com/aarroyoc/djota</a><p>Such systems show that nice applications can already be built with Scryer Prolog and its innovations.<p>Thank you a lot to Mark and everyone who contributed to Scryer Prolog, please keep up the great work!
SWIProlog[1] has so far been my go to due to the extensive support system it has. However, I've been meaning to explore higher order logic a bit and Ciao[2] caught my attention there, with sugar for function-like notation and higher order programming including "lambda" style predicate expressions .... and it compiles down to executable. The function notation in this context is along the same lines as Mozart/Oz and can be convenient. Not explore the higher order aspects much though.<p>[1]: <a href="https://www.swi-prolog.org/" rel="nofollow">https://www.swi-prolog.org/</a><p>[2]: <a href="https://en.wikipedia.org/wiki/Ciao_(programming_language)" rel="nofollow">https://en.wikipedia.org/wiki/Ciao_(programming_language)</a>
I work with Mark Thom, a Scryer Prolog developer. That said I have used Swi-Prolog for 20 years so it may be a while before switching.<p>Coincidentally I just started re-reading The Art of Prolog yesterday. It is an old book, but good. For some types of applications, Prolog is pretty much amazing.<p>EDIT: nice documentation pages, BTW.
Nit: a page advertising ISO Prolog shouldn't start with non-ISO builtins such as append/3 however widespread append or the belief it's in ISO may be. Here's a variant using atom_concat/3 which is actually defined by ISO:<p><pre><code> ?- atom_concat('Hello, ', X, 'Hello, ISO Prolog!')
</code></pre>
You can paste that Prolog code into eg [1] and other sites for execution in the browser btw.<p>[1]: <a href="https://quantumprolog.sgml.io/browser-demo/browser-demo.html" rel="nofollow">https://quantumprolog.sgml.io/browser-demo/browser-demo.html</a>