# Latest

**URL:** https://swi-prolog.discourse.group/latest.md?page=1

[Latest](https://swi-prolog.discourse.group/latest.md) · [Categories](https://swi-prolog.discourse.group/categories.md) · [Tags](https://swi-prolog.discourse.group/tags.md)

**Page:** 2

---

## [ErgoAI engine on SWI-Prolog](https://swi-prolog.discourse.group/t/ergoai-engine-on-swi-prolog/9792)

<div class="topic-metadata">

**Author:** [@mcalejo](https://swi-prolog.discourse.group/u/mcalejo)\
**Replies:** 0\
**Last updated:** [August 21, 2026, 7:44pm UTC](https://swi-prolog.discourse.group/t/ergoai-engine-on-swi-prolog/9792 "2026-08-21T19:44:01Z")

</div>

Announcing a community runtime release - free to use, academic and otherwise: - ErgoAI Studio 2 with ErgoAI engine, running entirely on your browser At https://ergoai-studio2-wasm.interprolog.com/ Some limitations ap…

---

## [Can language models learn unknown game rules?](https://swi-prolog.discourse.group/t/can-language-models-learn-unknown-game-rules/9791)

<div class="topic-metadata">

**Author:** [@EricGT](https://swi-prolog.discourse.group/u/EricGT)\
**Replies:** 0\
**Last updated:** [August 21, 2026, 4:01pm UTC](https://swi-prolog.discourse.group/t/can-language-models-learn-unknown-game-rules/9791 "2026-08-21T16:01:05Z")

</div>

21 of the 70 games are public. Tiers get increasingly harder for models (1 = easiest, 7 = hardest). dig.bench is a benchmark of scientific discovery. Each of its 70 games measures whether an agent can experiment t…

---

## [Multiple swi prolog webservers](https://swi-prolog.discourse.group/t/multiple-swi-prolog-webservers/9789)

<div class="topic-metadata">

**Author:** [@drspro](https://swi-prolog.discourse.group/u/drspro)\
**Replies:** 3\
**Last updated:** [August 21, 2026, 11:51am UTC](https://swi-prolog.discourse.group/t/multiple-swi-prolog-webservers/9789 "2026-08-21T11:51:26Z")

</div>

on 1 windows server i have 2 swi prolog http servers running for which swi prolog is present in 2 different directory trees and i always run them by creating a cmd console window in the BIN directory , and then run…

---

## [Towards Structured State Threading](https://swi-prolog.discourse.group/t/towards-structured-state-threading/9790)

<div class="topic-metadata">

**Author:** [@Olopierpa](https://swi-prolog.discourse.group/u/Olopierpa)\
**Replies:** 2\
**Last updated:** [August 20, 2026, 6:04pm UTC](https://swi-prolog.discourse.group/t/towards-structured-state-threading/9790 "2026-08-20T18:04:47Z")

</div>

Does anyone know a non-paywalled source for the paper IVANOVIC, D., MORALES CABALLERO, J. F., CARRO, M., AND HERMENEGILDO, M. 2009. Towards structured state threading in Prolog. In CICLOPS 2009. Thanks!

---

## [Number before the REPL indicator](https://swi-prolog.discourse.group/t/number-before-the-repl-indicator/9788)

<div class="topic-metadata">

**Author:** [@sgodoyc](https://swi-prolog.discourse.group/u/sgodoyc)\
**Replies:** 1\
**Last updated:** [August 19, 2026, 2:43pm UTC](https://swi-prolog.discourse.group/t/number-before-the-repl-indicator/9788 "2026-08-19T14:43:14Z")

</div>

Greetings to all, Just recently I have started to explore versions 10.0+ and 10.1+ of SWI-Prolog and I would like to ask about the integer number that appears before the indicator in the REPL: 1) What does it mean? I…

---

## [Sets of rules as conjunctions and/or disjunctions](https://swi-prolog.discourse.group/t/sets-of-rules-as-conjunctions-and-or-disjunctions/9779)

<div class="topic-metadata">

**Author:** [@stassa.p](https://swi-prolog.discourse.group/u/stassa.p)\
**Replies:** 42\
**Last updated:** [August 16, 2026, 7:14pm UTC](https://swi-prolog.discourse.group/t/sets-of-rules-as-conjunctions-and-or-disjunctions/9779 "2026-08-16T19:14:05Z")

</div>

Over at the ILP Discord server there was a discussion about whether a set of Prolog rules should be seen as a disjunction or a conjunction. The, let’s say “traditional” interpretation that one can find in many Prolog so…

---

## [Prolog code](https://swi-prolog.discourse.group/t/prolog-code/9787)

<div class="topic-metadata">

**Author:** [@kgokane.kgokane](https://swi-prolog.discourse.group/u/kgokane.kgokane)\
**Replies:** 1\
**Last updated:** [August 16, 2026, 3:25pm UTC](https://swi-prolog.discourse.group/t/prolog-code/9787 "2026-08-16T15:25:59Z")

</div>

Write a tail-recursive Prolog procedure count\_vars(L,N) that counts the number of instantiated variables in the list Land returns the result in N

---

## [Ann: SWI-Prolog 10.1.13](https://swi-prolog.discourse.group/t/ann-swi-prolog-10-1-13/9781)

<div class="topic-metadata">

**Author:** [@jan](https://swi-prolog.discourse.group/u/jan)\
**Replies:** 2\
**Last updated:** [August 11, 2026, 2:13pm UTC](https://swi-prolog.discourse.group/t/ann-swi-prolog-10-1-13/9781 "2026-08-11T14:13:37Z")

</div>

Dear SWI-Prolog user, SWI-Prolog 10.1.13 is ready for download. This comes with quite a few enhancements. Highlights: 2^2147483648 and higher can now be evaluated on Windows. read/1 and write/1 and friends …

---

## [I've created TrackLog: a collection of Prolog libraries, examples, and guidelines for building a personal knowledge base in pure logic](https://swi-prolog.discourse.group/t/ive-created-tracklog-a-collection-of-prolog-libraries-examples-and-guidelines-for-building-a-personal-knowledge-base-in-pure-logic/9785)

<div class="topic-metadata">

**Author:** [@iaroslav\_baranov](https://swi-prolog.discourse.group/u/iaroslav_baranov)\
**Replies:** 0\
**Last updated:** [August 11, 2026, 7:58am UTC](https://swi-prolog.discourse.group/t/ive-created-tracklog-a-collection-of-prolog-libraries-examples-and-guidelines-for-building-a-personal-knowledge-base-in-pure-logic/9785 "2026-08-11T07:58:35Z")

</div>

TrackLog blurs the boundaries between database administration and programming TrackLog is based on Formal Grammar (DCG): you will develop your own grammar to accomodate your language needs TrackLog will help you …

---

## [Pong Game Challenge](https://swi-prolog.discourse.group/t/pong-game-challenge/9782)

<div class="topic-metadata">

**Author:** [@kwon-young](https://swi-prolog.discourse.group/u/kwon-young)\
**Replies:** 5\
**Last updated:** [August 9, 2026, 1:07pm UTC](https://swi-prolog.discourse.group/t/pong-game-challenge/9782 "2026-08-09T13:07:17Z")

</div>

Hello, Thanks to @jamesnvc post: For fun: rushhour game - #6 by jamesnvc I went back and cleaned up my SDL bindings, porting to cmake + SDL3: GitHub - kwon-young/sdlpl: SWI-Prolog bindings to SDL · GitHub I have worki…

---

## [Setting up SWISH for collaboration](https://swi-prolog.discourse.group/t/setting-up-swish-for-collaboration/9778)

<div class="topic-metadata">

**Author:** [@stassa.p](https://swi-prolog.discourse.group/u/stassa.p)\
**Replies:** 7\
**Last updated:** [August 6, 2026, 5:42pm UTC](https://swi-prolog.discourse.group/t/setting-up-swish-for-collaboration/9778 "2026-08-06T17:42:47Z")

</div>

I’d like to use SWISH to collaborate with a colleague. I’ve tried to understand whether it is possible to do that and how, but I can’t seem to find where this is explained. The SWISH examples on SWISH -- SWI-Prolog for S…

---

## [Listing/1 works slowly in specific circrumstances](https://swi-prolog.discourse.group/t/listing-1-works-slowly-in-specific-circrumstances/9780)

<div class="topic-metadata">

**Author:** [@AlexeyKosarchuk](https://swi-prolog.discourse.group/u/AlexeyKosarchuk)\
**Replies:** 5\
**Last updated:** [August 6, 2026, 6:42am UTC](https://swi-prolog.discourse.group/t/listing-1-works-slowly-in-specific-circrumstances/9780 "2026-08-06T06:42:54Z")

</div>

I have strange situation using SWI Prolog listing/1 predicate. I have several dynamic predicates used as database for some state. Initially state is constructed from scratch by some program. Then I can save it to file …

---

## [For fun: rushhour game](https://swi-prolog.discourse.group/t/for-fun-rushhour-game/9713)

<div class="topic-metadata">

**Author:** [@mgondan1](https://swi-prolog.discourse.group/u/mgondan1)\
**Replies:** 14\
**Last updated:** [August 5, 2026, 4:02pm UTC](https://swi-prolog.discourse.group/t/for-fun-rushhour-game/9713 "2026-08-05T16:02:26Z")

</div>

Summer is coming, but it’s too hot outside, so let’s have fun inside. I googled around to see how the rush hour game is implemented in Prolog, and I wonder how a 6x6 rectangular game should be represented. like this? \[…

---

## [RE: For fun: rushhour game](https://swi-prolog.discourse.group/t/re-for-fun-rushhour-game/9773)

<div class="topic-metadata">

**Author:** [@mgondan1](https://swi-prolog.discourse.group/u/mgondan1)\
**Replies:** 1\
**Last updated:** [August 1, 2026, 2:19pm UTC](https://swi-prolog.discourse.group/t/re-for-fun-rushhour-game/9773 "2026-08-01T14:19:08Z")

</div>

I’ll look at it tomorrow, thank you! Steps: render game in a nxn-table (probably easy) understand how portray works (probably easy) There also seems to be some html-version of portray, though I didn’t understand it …

---

## [Display a variable with write](https://swi-prolog.discourse.group/t/display-a-variable-with-write/9700)

<div class="topic-metadata">

**Author:** [@gerard26](https://swi-prolog.discourse.group/u/gerard26)\
**Replies:** 7\
**Last updated:** [August 1, 2026, 2:01pm UTC](https://swi-prolog.discourse.group/t/display-a-variable-with-write/9700 "2026-08-01T14:01:56Z")

</div>

I’m using: SWI-Prolog version 9.29 I want the code to:display the contents of the variable X But what I’m getting is: \_3014 is a variable My code looks like this: ... test(X) :- var(X), write(X), write(' …

---

## [What changed in library(macros)](https://swi-prolog.discourse.group/t/what-changed-in-library-macros/9733)

<div class="topic-metadata">

**Author:** [@BJooze](https://swi-prolog.discourse.group/u/BJooze)\
**Replies:** 10\
**Last updated:** [July 28, 2026, 3:08pm UTC](https://swi-prolog.discourse.group/t/what-changed-in-library-macros/9733 "2026-07-28T15:08:40Z")

</div>

I’ve been using a few simple macros - starting in 9.2.9. After recently switching to 1.0.2 and changing nothing in my own code, all the sudden I cannot for the life of me get any (#define/#import) macros to work. I’m cur…

---

## [Showcase: 6.9-Hour Endurance & Concurrency Test of a Commercial POS Core Engine (140 Billion Inferences, Zero Memory Leak)](https://swi-prolog.discourse.group/t/showcase-6-9-hour-endurance-concurrency-test-of-a-commercial-pos-core-engine-140-billion-inferences-zero-memory-leak/9730)

<div class="topic-metadata">

**Author:** [@lokinpendawa](https://swi-prolog.discourse.group/u/lokinpendawa)\
**Replies:** 7\
**Last updated:** [July 27, 2026, 9:47pm UTC](https://swi-prolog.discourse.group/t/showcase-6-9-hour-endurance-concurrency-test-of-a-commercial-pos-core-engine-140-billion-inferences-zero-memory-leak/9730 "2026-07-27T21:47:31Z")

</div>

Hi everyone, I want to start by saying that I am a complete beginner in programming. I have zero background in computer science, and I only started learning coding from scratch about two months ago. My friends originall…

---

## [The Unrusting Blade: An Offline-First LogicBiz V.2.0 Powered by SWI-Prolog & SQLCipher - Reply 01](https://swi-prolog.discourse.group/t/the-unrusting-blade-an-offline-first-logicbiz-v-2-0-powered-by-swi-prolog-sqlcipher-reply-01/9752)

<div class="topic-metadata">

**Author:** [@heiheshang](https://swi-prolog.discourse.group/u/heiheshang)\
**Replies:** 8\
**Last updated:** [July 25, 2026, 2:58pm UTC](https://swi-prolog.discourse.group/t/the-unrusting-blade-an-offline-first-logicbiz-v-2-0-powered-by-swi-prolog-sqlcipher-reply-01/9752 "2026-07-25T14:58:20Z")

</div>

Thank you so much for sharing information about the LogicBiz V.2.0 project! I use SWI-Prolog in my daily work, so it’s especially valuable to me to see this wonderful language being used to create serious commercial pro…

---

## [Ann: SWI-Prolog 10.1.12](https://swi-prolog.discourse.group/t/ann-swi-prolog-10-1-12/9747)

<div class="topic-metadata">

**Author:** [@jan](https://swi-prolog.discourse.group/u/jan)\
**Replies:** 0\
**Last updated:** [July 19, 2026, 12:39pm UTC](https://swi-prolog.discourse.group/t/ann-swi-prolog-10-1-12/9747 "2026-07-19T12:39:49Z")

</div>

Dear SWI-Prolog users, SWI-Prolog 10.1.12 is ready for download. The list of changes is extensive. Please test as some regression is not unlikely, notably on Windows. Highlights: Core Windows file name case han…

---

## [Correct floating point arithmetic](https://swi-prolog.discourse.group/t/correct-floating-point-arithmetic/5857)

<div class="topic-metadata">

**Author:** [@jan](https://swi-prolog.discourse.group/u/jan)\
**Replies:** 77\
**Last updated:** [July 19, 2026, 11:25am UTC](https://swi-prolog.discourse.group/t/correct-floating-point-arithmetic/5857 "2026-07-19T11:25:18Z")

</div>

Yes. I found crlibm again, and recall the main issue: it is GPL, not LGPL. That makes it usable only as an optional install for people building from sources as (effectively) changing changing SWI-Prolog to GPL is a n…

---

## [Options, Windows file name case handling](https://swi-prolog.discourse.group/t/options-windows-file-name-case-handling/9746)

<div class="topic-metadata">

**Author:** [@jan](https://swi-prolog.discourse.group/u/jan)\
**Replies:** 0\
**Last updated:** [July 18, 2026, 7:40pm UTC](https://swi-prolog.discourse.group/t/options-windows-file-name-case-handling/9746 "2026-07-18T19:40:51Z")

</div>

The current GIT version pushes two extensive updates All option processing in the system now uses library(option) or the C PL\_scan\_options(). This implies that all option processing deals with both lists and dicts. A…

---

## [I think I found a bug](https://swi-prolog.discourse.group/t/i-think-i-found-a-bug/9633)

<div class="topic-metadata">

**Author:** [@Frank\_Schwidom](https://swi-prolog.discourse.group/u/Frank_Schwidom)\
**Replies:** 15\
**Last updated:** [July 17, 2026, 3:41pm UTC](https://swi-prolog.discourse.group/t/i-think-i-found-a-bug/9633 "2026-07-17T15:41:12Z")

</div>

I’m on $ swipl --version SWI-Prolog version 9.3.32 for x86\_64-linux And I wrote this code :- use\_module( library( 'clpfd')). % transpose xmas( \`XMAS\`). direction8( IDX\_R\_C) :- IDX\_R\_C = ( ROW, COL) , FACTORS=\[-1,0,1…

---

## [Option preference (first or last)?](https://swi-prolog.discourse.group/t/option-preference-first-or-last/9742)

<div class="topic-metadata">

**Author:** [@jan](https://swi-prolog.discourse.group/u/jan)\
**Replies:** 8\
**Last updated:** [July 16, 2026, 12:52pm UTC](https://swi-prolog.discourse.group/t/option-preference-first-or-last/9742 "2026-07-16T12:52:19Z")

</div>

This is a followup for Minor: "prolog flag option lists" do not follow option list semantics · Issue #756 · SWI-Prolog/swipl-devel · GitHub It appears ISO talks about duplicate/conflicting options in a few places. Wher…

---

## [Fast Term Factorization via Paige-Tarjan: Bypassing ==/2 and compare/2](https://swi-prolog.discourse.group/t/fast-term-factorization-via-paige-tarjan-bypassing-2-and-compare-2/9725)

<div class="topic-metadata">

**Author:** [@kuniaki.mukai](https://swi-prolog.discourse.group/u/kuniaki.mukai)\
**Replies:** 16\
**Last updated:** [July 15, 2026, 6:01pm UTC](https://swi-prolog.discourse.group/t/fast-term-factorization-via-paige-tarjan-bypassing-2-and-compare-2/9725 "2026-07-15T18:01:46Z")

</div>

I am experimenting with an alternative approach to term factorization based on the Paige-Tarjan minimization method. From a theoretical standpoint, I doubt the current implementation of term\_factorized/3—which relies on c…

---

## [Bug in unifying dictionaries that contain CLP(Q) constraints](https://swi-prolog.discourse.group/t/bug-in-unifying-dictionaries-that-contain-clp-q-constraints/9737)

<div class="topic-metadata">

**Author:** [@AZH](https://swi-prolog.discourse.group/u/AZH)\
**Replies:** 4\
**Last updated:** [July 14, 2026, 11:44am UTC](https://swi-prolog.discourse.group/t/bug-in-unifying-dictionaries-that-contain-clp-q-constraints/9737 "2026-07-14T11:44:43Z")

</div>

Hi there, just got what seems like a bug: :- use\_module(library(clpq)). test :- X = #{a:0,b:1}, Y = #{a:\_,b:\_,c:\_}, {Y.a + Y.b = Y.c}, {Y.c \> 0}, X \>:\< Y. The above test fails u…

---

## [A Python MCP server for exposing Prolog to LLM agents](https://swi-prolog.discourse.group/t/a-python-mcp-server-for-exposing-prolog-to-llm-agents/9735)

<div class="topic-metadata">

**Author:** [@Agnieszka](https://swi-prolog.discourse.group/u/Agnieszka)\
**Replies:** 2\
**Last updated:** [July 13, 2026, 7:32pm UTC](https://swi-prolog.discourse.group/t/a-python-mcp-server-for-exposing-prolog-to-llm-agents/9735 "2026-07-13T19:32:11Z")

</div>

Hi, We’re a group of researchers working on neurosymbolic AI, and we wanted to share a tool we’ve built: PrologMCP, an MCP server that exposes SWI-Prolog to LLM agents. We’re aware of the other Prolog MCP servers ann…

---

## [Unable to use the Discourse application](https://swi-prolog.discourse.group/t/unable-to-use-the-discourse-application/9729)

<div class="topic-metadata">

**Author:** [@rogersm](https://swi-prolog.discourse.group/u/rogersm)\
**Replies:** 1\
**Last updated:** [July 12, 2026, 6:31pm UTC](https://swi-prolog.discourse.group/t/unable-to-use-the-discourse-application/9729 "2026-07-12T18:31:31Z")

</div>

For the last weeks (months?) I’ve been unable to log in swi-prolog forum using the ios discourse application with an API error: Is this expected? I find extremely useful the Discourse App when I’m traveling.

---

## [Can no longer publish updates to packages](https://swi-prolog.discourse.group/t/can-no-longer-publish-updates-to-packages/9728)

<div class="topic-metadata">

**Author:** [@hargettp](https://swi-prolog.discourse.group/u/hargettp)\
**Replies:** 3\
**Last updated:** [July 11, 2026, 4:45pm UTC](https://swi-prolog.discourse.group/t/can-no-longer-publish-updates-to-packages/9728 "2026-07-11T16:45:22Z")

</div>

I’m using: SWI-Prolog version 10.0.2 (on macOS 26) I want the code to: register my new package with the swi-prolog.org catalog But what I’m getting is: swipl does the test install of dependencies and my package – but t…

---

## [Bug in clause/2?](https://swi-prolog.discourse.group/t/bug-in-clause-2/9726)

<div class="topic-metadata">

**Author:** [@Iam](https://swi-prolog.discourse.group/u/Iam)\
**Replies:** 12\
**Last updated:** [July 11, 2026, 1:06pm UTC](https://swi-prolog.discourse.group/t/bug-in-clause-2/9726 "2026-07-11T13:06:23Z")

</div>

I am using SWI-Prolog (threaded, 64 bits, version 10.0.2) on a Mac M3. My single line program is: test(L) :- ( L = a ) . My query is ?- clause(test(L),Body). I expected to get the same answer that I got in SW…

---

## [Ann: SWI-Prolog 10.1.11](https://swi-prolog.discourse.group/t/ann-swi-prolog-10-1-11/9722)

<div class="topic-metadata">

**Author:** [@jan](https://swi-prolog.discourse.group/u/jan)\
**Replies:** 2\
**Last updated:** [July 10, 2026, 7:27am UTC](https://swi-prolog.discourse.group/t/ann-swi-prolog-10-1-11/9722 "2026-07-10T07:27:48Z")

</div>

SWI-Prolog Changelog since version 10.1.10 This release provides several improvements required by the SWI-Prolog MCP server (pack mcp): support for HTTP SSE (Server Sent Events) and additional APIs for various normally…

[Previous page](https://swi-prolog.discourse.group/latest.md)

[Next page](https://swi-prolog.discourse.group/latest.md?page=2)
