# \#discussion

**URL:** https://swi-prolog.discourse.group/tag/discussion/12.md

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

---

## [Problems tcp/ip tcp\_connect/2 to tcp\_connect/3 while upgrading from 8.x to 9.x or 10.x](https://swi-prolog.discourse.group/t/problems-tcp-ip-tcp-connect-2-to-tcp-connect-3-while-upgrading-from-8-x-to-9-x-or-10-x/9723)

<div class="topic-metadata">

**Author:** [@jayprakashnair](https://swi-prolog.discourse.group/u/jayprakashnair)\
**Replies:** 1\
**Last updated:** [July 6, 2026, 7:59am UTC](https://swi-prolog.discourse.group/t/problems-tcp-ip-tcp-connect-2-to-tcp-connect-3-while-upgrading-from-8-x-to-9-x-or-10-x/9723 "2026-07-06T07:59:56Z")

</div>

I am involved in the development of a platform using SWI Prolog ver. 8.x. But with the advent of newer versions, things have become messed up, especially when we try to use the TCP protocol to open sockets and communica…

---

## [Should the reference manual document differences between the current version and earlier versions?](https://swi-prolog.discourse.group/t/should-the-reference-manual-document-differences-between-the-current-version-and-earlier-versions/1658)

<div class="topic-metadata">

**Author:** [@cmsmcq](https://swi-prolog.discourse.group/u/cmsmcq)\
**Replies:** 4\
**Last updated:** [June 23, 2026, 3:30pm UTC](https://swi-prolog.discourse.group/t/should-the-reference-manual-document-differences-between-the-current-version-and-earlier-versions/1658 "2026-06-23T15:30:42Z")

</div>

The reference manual at SWI-Prolog -- Status and releases is quite clear, in section 1.2, that This manual describes version 8.1.19 of SWI-Prolog. This has as a consequence that on any point where things have changed…

---

## [Resolving MQI ambiguities](https://swi-prolog.discourse.group/t/resolving-mqi-ambiguities/9685)

<div class="topic-metadata">

**Author:** [@JansthcirlU](https://swi-prolog.discourse.group/u/JansthcirlU)\
**Replies:** 0\
**Last updated:** [June 9, 2026, 9:16am UTC](https://swi-prolog.discourse.group/t/resolving-mqi-ambiguities/9685 "2026-06-09T09:16:45Z")

</div>

Hi all, I’m Jan and I got started with Prolog fairly recently to learn more about logic programming. I’m a .NET developer by profession so I was immediately intrigued by the idea of creating an MQI client for C# so that …

---

## [Some questions about wasm](https://swi-prolog.discourse.group/t/some-questions-about-wasm/9537)

<div class="topic-metadata">

**Author:** [@fgmccabe](https://swi-prolog.discourse.group/u/fgmccabe)\
**Replies:** 9\
**Last updated:** [March 2, 2026, 4:46pm UTC](https://swi-prolog.discourse.group/t/some-questions-about-wasm/9537 "2026-03-02T16:46:45Z")

</div>

I have some questions about the effort to bring swim prolog to WebAssembly. (I was not smart enough to figure out how to contribute to the wiki so this is a separate topic) I assume that SwiProlog is using wasmgc. Is t…

---

## [Max\_path\_length limitation](https://swi-prolog.discourse.group/t/max-path-length-limitation/5304)

<div class="topic-metadata">

**Author:** [@duesentrieb17](https://swi-prolog.discourse.group/u/duesentrieb17)\
**Replies:** 11\
**Last updated:** [February 19, 2026, 9:06pm UTC](https://swi-prolog.discourse.group/t/max-path-length-limitation/5304 "2026-02-19T21:06:42Z")

</div>

I’m using: SWI-Prolog version 8.4.2 There is a real show stopper in our application with v8.4.2. Specifically, it is this artificial limitation of the path length of around 259: ?- absolute\_file\_name('1111111111111111…

---

## [Hillel Wayne: "My Gripes with Prolog"](https://swi-prolog.discourse.group/t/hillel-wayne-my-gripes-with-prolog/9484)

<div class="topic-metadata">

**Author:** [@peter.ludemann](https://swi-prolog.discourse.group/u/peter.ludemann)\
**Replies:** 11\
**Last updated:** [February 3, 2026, 10:43am UTC](https://swi-prolog.discourse.group/t/hillel-wayne-my-gripes-with-prolog/9484 "2026-02-03T10:43:29Z")

</div>

Complaints about Prolog are nothing new, but this is a recent one (is anything in the gripes something we haven’t seen before?) by someone who’s writing a book Logic for Programmers (which I haven’t yet read).

---

## [How to constrain indefinite number variables and constraints?](https://swi-prolog.discourse.group/t/how-to-constrain-indefinite-number-variables-and-constraints/9466)

<div class="topic-metadata">

**Author:** [@Changesite](https://swi-prolog.discourse.group/u/Changesite)\
**Replies:** 1\
**Last updated:** [December 30, 2025, 3:53pm UTC](https://swi-prolog.discourse.group/t/how-to-constrain-indefinite-number-variables-and-constraints/9466 "2025-12-30T15:53:55Z")

</div>

Recently, I encountered a problem. Because the result of the required variable must be an integer, and some results may not be unique, I associate it with matrix and CLP (FD). I have read the tutorial CLP(FD) Constraint…

---

## [What are the basic data types and data structures of Prolog?](https://swi-prolog.discourse.group/t/what-are-the-basic-data-types-and-data-structures-of-prolog/9451)

<div class="topic-metadata">

**Author:** [@Changesite](https://swi-prolog.discourse.group/u/Changesite)\
**Replies:** 2\
**Last updated:** [December 23, 2025, 9:30am UTC](https://swi-prolog.discourse.group/t/what-are-the-basic-data-types-and-data-structures-of-prolog/9451 "2025-12-23T09:30:26Z")

</div>

I ask this question because I want to use a data structure to represent line segments. My first thought is to use a list. For example, I use \[2, 3\] to represent a point on a plane coordinate system, and \[\[2, 3\], \[7, 3\]\] …

---

## [Dicts, attribute variables and cyclic terms](https://swi-prolog.discourse.group/t/dicts-attribute-variables-and-cyclic-terms/9324)

<div class="topic-metadata">

**Author:** [@jan](https://swi-prolog.discourse.group/u/jan)\
**Replies:** 20\
**Last updated:** [October 21, 2025, 2:18pm UTC](https://swi-prolog.discourse.group/t/dicts-attribute-variables-and-cyclic-terms/9324 "2025-10-21T14:18:27Z")

</div>

Some discussions are going on in the PIP working group related to synchronize (as a lightweight standardize) some aspects between Prolog systems. I’d like to seek opinions on a few things. Let me start with the relevan…

---

## [ChatGPT Can Convert Some Standards to Prolog, e.g. USPAP (Uniform Standards Of Professional Appraisal Practice)](https://swi-prolog.discourse.group/t/chatgpt-can-convert-some-standards-to-prolog-e-g-uspap-uniform-standards-of-professional-appraisal-practice/9327)

<div class="topic-metadata">

**Author:** [@bcraytor](https://swi-prolog.discourse.group/u/bcraytor)\
**Replies:** 4\
**Last updated:** [October 4, 2025, 11:35am UTC](https://swi-prolog.discourse.group/t/chatgpt-can-convert-some-standards-to-prolog-e-g-uspap-uniform-standards-of-professional-appraisal-practice/9327 "2025-10-04T11:35:01Z")

</div>

This past week, I discovered that ChatGPT can do a pretty good job of converting lengthy standards into SWI-Prolog. In particular, it quickly converted the USPAP (Uniform Standards Of Professional Appraisal Practice) in…

---

## [Towards an extension of \`library(error)\`](https://swi-prolog.discourse.group/t/towards-an-extension-of-library-error/2485)

<div class="topic-metadata">

**Author:** [@dtonhofer](https://swi-prolog.discourse.group/u/dtonhofer)\
**Replies:** 3\
**Last updated:** [June 9, 2020, 7:18am UTC](https://swi-prolog.discourse.group/t/towards-an-extension-of-library-error/2485 "2020-06-09T07:18:55Z")

</div>

In the context of a little code cleanup of JPL consisting (mainly) in grouping all the calls to throw/1, Jan Wielemaker & myself wanted to kick off a discussion of an extension to library(eror). So I will post first. Na…

---

## [Pengines success event produced with two different term structures](https://swi-prolog.discourse.group/t/pengines-success-event-produced-with-two-different-term-structures/9270)

<div class="topic-metadata">

**Author:** [@CarlosLang](https://swi-prolog.discourse.group/u/CarlosLang)\
**Replies:** 0\
**Last updated:** [September 12, 2025, 8:22pm UTC](https://swi-prolog.discourse.group/t/pengines-success-event-produced-with-two-different-term-structures/9270 "2025-09-12T20:22:41Z")

</div>

I’m using SWI-Prolog v 9.3.29 Why am I receiving success events with two different structures from the same Pengine ? After starting my local Pengines server, If I use this code: % Test client for the pengines server…

---

## [Is the documentation of library(heaps) confusing?](https://swi-prolog.discourse.group/t/is-the-documentation-of-library-heaps-confusing/9259)

<div class="topic-metadata">

**Author:** [@Boris](https://swi-prolog.discourse.group/u/Boris)\
**Replies:** 5\
**Last updated:** [September 9, 2025, 3:55pm UTC](https://swi-prolog.discourse.group/t/is-the-documentation-of-library-heaps-confusing/9259 "2025-09-09T15:55:08Z")

</div>

Maybe it is just me. I think the underlying reason is the generous use of the forward slash in the text. For example, we find the following pairs (with a bit of context, because I am not even sure how should this parse, …

---

## [Yield based debugging: allow for a fancy debugger for the browser version!](https://swi-prolog.discourse.group/t/yield-based-debugging-allow-for-a-fancy-debugger-for-the-browser-version/8798)

<div class="topic-metadata">

**Author:** [@jan](https://swi-prolog.discourse.group/u/jan)\
**Replies:** 0\
**Last updated:** [February 19, 2025, 1:40pm UTC](https://swi-prolog.discourse.group/t/yield-based-debugging-allow-for-a-fancy-debugger-for-the-browser-version/8798 "2025-02-19T13:40:38Z")

</div>

I just pushed an elaborate patch that allows us to get the WASM version for use in the browser to a next level. This patch reorganises how the VM interacts with the debugger. Before, there was a built-in debugger and…

---

## [Yet another SQLite binding for SWI-Prolog](https://swi-prolog.discourse.group/t/yet-another-sqlite-binding-for-swi-prolog/8644)

<div class="topic-metadata">

**Author:** [@Boris](https://swi-prolog.discourse.group/u/Boris)\
**Replies:** 12\
**Last updated:** [January 12, 2025, 8:42am UTC](https://swi-prolog.discourse.group/t/yet-another-sqlite-binding-for-swi-prolog/8644 "2025-01-12T08:42:49Z")

</div>

With great trepidation I announce the 0.1 version of the swiplite pack (add-on). It is not ready but it can already be used; or at least looked at. The code is available at GitHub - borisvassilev/swiplite: SQLite for SW…

---

## [Yfy-pattern](https://swi-prolog.discourse.group/t/yfy-pattern/2923)

<div class="topic-metadata">

**Author:** [@Yessir](https://swi-prolog.discourse.group/u/Yessir)\
**Replies:** 13\
**Last updated:** [November 13, 2024, 4:40pm UTC](https://swi-prolog.discourse.group/t/yfy-pattern/2923 "2024-11-13T16:40:53Z")

</div>

I’m using: SWI-Prolog version (threaded, 64 bits, version 8.0.3). Can someone explain to me why yfy is not a meaningful pattern for precedence and position of operators? Need help fast! Thanks.

---

## [SQLite dependency in a pack](https://swi-prolog.discourse.group/t/sqlite-dependency-in-a-pack/7620)

<div class="topic-metadata">

**Author:** [@Boris](https://swi-prolog.discourse.group/u/Boris)\
**Replies:** 12\
**Last updated:** [July 31, 2024, 5:37pm UTC](https://swi-prolog.discourse.group/t/sqlite-dependency-in-a-pack/7620 "2024-07-31T17:37:40Z")

</div>

I found time to work on my (probably misguided) effort of having yet another way of interfacing SWI-Prolog with SQLite. On the way I learned something I knew and have already forgotten. From the SQLite docs: The use of…

---

## [Including prolog c++ libraries inside Unreal Engine](https://swi-prolog.discourse.group/t/including-prolog-c-libraries-inside-unreal-engine/7562)

<div class="topic-metadata">

**Author:** [@Lorenzo](https://swi-prolog.discourse.group/u/Lorenzo)\
**Replies:** 2\
**Last updated:** [July 2, 2024, 1:53pm UTC](https://swi-prolog.discourse.group/t/including-prolog-c-libraries-inside-unreal-engine/7562 "2024-07-02T13:53:32Z")

</div>

I’m using: SWI-Prolog version 9.2.4, Unreal Engine version 5.3, Visual Studio 2022 version 17.10.3 I want to add the prolog c++ SWI-cpp2.h header file to an Unreal Engine component But when I try to do that I get compi…

---

## [Generalizing aggregate/3 by adding foldl semantics](https://swi-prolog.discourse.group/t/generalizing-aggregate-3-by-adding-foldl-semantics/7549)

<div class="topic-metadata">

**Author:** [@peter.ludemann](https://swi-prolog.discourse.group/u/peter.ludemann)\
**Replies:** 0\
**Last updated:** [June 23, 2024, 4:54pm UTC](https://swi-prolog.discourse.group/t/generalizing-aggregate-3-by-adding-foldl-semantics/7549 "2024-06-23T16:54:31Z")

</div>

The aggregation library supports count, sum, min, max, etc. A generalization of this would be to use foldl/4 semantics. For example, the sum operator could be implemented by aggregate(foldl(plus), Goal, 0, Result). It …

---

## ["Updating index for library" messages after ninja install](https://swi-prolog.discourse.group/t/updating-index-for-library-messages-after-ninja-install/7488)

<div class="topic-metadata">

**Author:** [@peter.ludemann](https://swi-prolog.discourse.group/u/peter.ludemann)\
**Replies:** 4\
**Last updated:** [June 3, 2024, 8:39am UTC](https://swi-prolog.discourse.group/t/updating-index-for-library-messages-after-ninja-install/7488 "2024-06-03T08:39:12Z")

</div>

After I run ninja install with cmake -DCMAKE\_INSTALL\_PREFIX=$HOME/.local and then run a test of one of my programs, I get this (some output removed for clarity; to trigger the “make”, I touched the source file): $ swipl…

---

## [Why the answer contains a \`false\`?](https://swi-prolog.discourse.group/t/why-the-answer-contains-a-false/5425)

<div class="topic-metadata">

**Author:** [@chansey97](https://swi-prolog.discourse.group/u/chansey97)\
**Replies:** 16\
**Last updated:** [May 14, 2024, 12:18pm UTC](https://swi-prolog.discourse.group/t/why-the-answer-contains-a-false/5425 "2024-05-14T12:18:29Z")

</div>

My SWI-Prolog knowledge base contains the following three facts: data(catalog1, mike, deposit, 100). data(catalog1, bob, deposit, 150). data(catalog2, mike, deposit, 200). The query is: ?- data(catalog1, mike, deposit…

---

## [Strange behavior with findall/3](https://swi-prolog.discourse.group/t/strange-behavior-with-findall-3/7433)

<div class="topic-metadata">

**Author:** [@julambl75](https://swi-prolog.discourse.group/u/julambl75)\
**Replies:** 3\
**Last updated:** [May 2, 2024, 9:05pm UTC](https://swi-prolog.discourse.group/t/strange-behavior-with-findall-3/7433 "2024-05-02T21:05:50Z")

</div>

Hello, I am using SWI version 9.2.2 (on macOS), and have a concern related to findall/3. According to the documentation: findall(+Template, :Goal, -Bag): Create a list of the instantiations Template gets successively…

---

## [(C/C++) Blobs and the flags for "unique" and "nocopy"](https://swi-prolog.discourse.group/t/c-c-blobs-and-the-flags-for-unique-and-nocopy/7159)

<div class="topic-metadata">

**Author:** [@peter.ludemann](https://swi-prolog.discourse.group/u/peter.ludemann)\
**Replies:** 6\
**Last updated:** [April 8, 2024, 5:29am UTC](https://swi-prolog.discourse.group/t/c-c-blobs-and-the-flags-for-unique-and-nocopy/7159 "2024-04-08T05:29:13Z")

</div>

A foreign blob has PL\_BLOB\_UNIQUE and PL\_BLOB\_NOCOPY flags. (There are also PL\_BLOB\_TEXT and PL\_BLOB\_WCHAR, but as far as I can tell, user-defined blobs shouldn’t use them.) The PL\_BLOB\_UNIQUE flag is used in testing fo…

---

## [A pure sort/2](https://swi-prolog.discourse.group/t/a-pure-sort-2/2438)

<div class="topic-metadata">

**Author:** [@grossdan](https://swi-prolog.discourse.group/u/grossdan)\
**Replies:** 15\
**Last updated:** [March 7, 2024, 1:05pm UTC](https://swi-prolog.discourse.group/t/a-pure-sort-2/2438 "2024-03-07T13:05:29Z")

</div>

---

## [Need Help with research about industrial/commercial applications in Prolog](https://swi-prolog.discourse.group/t/need-help-with-research-about-industrial-commercial-applications-in-prolog/7206)

<div class="topic-metadata">

**Author:** [@molfar](https://swi-prolog.discourse.group/u/molfar)\
**Replies:** 6\
**Last updated:** [February 25, 2024, 4:10pm UTC](https://swi-prolog.discourse.group/t/need-help-with-research-about-industrial-commercial-applications-in-prolog/7206 "2024-02-25T16:10:58Z")

</div>

Hello, friends, I was given an assignment by a teacher at my university to find commercial or industrial applications using prolog or logic programming and write a report. english is not my native language and there is …

---

## [Incorporation of edwards elliptic curves into swipl?](https://swi-prolog.discourse.group/t/incorporation-of-edwards-elliptic-curves-into-swipl/7249)

<div class="topic-metadata">

**Author:** [@DewayneG](https://swi-prolog.discourse.group/u/DewayneG)\
**Replies:** 1\
**Last updated:** [February 19, 2024, 8:03am UTC](https://swi-prolog.discourse.group/t/incorporation-of-edwards-elliptic-curves-into-swipl/7249 "2024-02-19T08:03:17Z")

</div>

Are there any plans to incorporate elliptic curves ED25519 and ED448 into swipl? While migrating some services into swipl where we make extensive use of: signing (using load\_private\_key/3) and diffie-hellman exchanges (…

---

## [Zippers for data-structure editing with DCG state management](https://swi-prolog.discourse.group/t/zippers-for-data-structure-editing-with-dcg-state-management/7192)

<div class="topic-metadata">

**Author:** [@z5h](https://swi-prolog.discourse.group/u/z5h)\
**Replies:** 2\
**Last updated:** [January 24, 2024, 10:19pm UTC](https://swi-prolog.discourse.group/t/zippers-for-data-structure-editing-with-dcg-state-management/7192 "2024-01-24T22:19:06Z")

</div>

I have a need to compose declarative transformations on values. “go to this key, that index, this key, and update the value there, now go to this other key, another key and update the value there …” “now apply this tra…

---

## [Term\_expansion, goal\_expansion, and peers](https://swi-prolog.discourse.group/t/term-expansion-goal-expansion-and-peers/7161)

<div class="topic-metadata">

**Author:** [@z5h](https://swi-prolog.discourse.group/u/z5h)\
**Replies:** 3\
**Last updated:** [January 12, 2024, 12:13pm UTC](https://swi-prolog.discourse.group/t/term-expansion-goal-expansion-and-peers/7161 "2024-01-12T12:13:52Z")

</div>

As explained here: term\_expansion/2 is the original \[all-purpose, most-general, program-transformation\] predicate, goal\_expansion/2 was added later to handle a common case and prevent the user from “having to deal with…

---

## [I'm looking for a more elegant way to solve the problem](https://swi-prolog.discourse.group/t/im-looking-for-a-more-elegant-way-to-solve-the-problem/7098)

<div class="topic-metadata">

**Author:** [@heiheshang](https://swi-prolog.discourse.group/u/heiheshang)\
**Replies:** 10\
**Last updated:** [December 26, 2023, 7:29pm UTC](https://swi-prolog.discourse.group/t/im-looking-for-a-more-elegant-way-to-solve-the-problem/7098 "2023-12-26T19:29:47Z")

</div>

I’m making wrappers over rest api methods. my code represents similar pieces of code. I’m looking for a generalized method to wrap a rest api 'crm.lead.update'(conf(AccessToken, ClientEndpoint), Fields, Reply) :- bi…

---

## [Cmake test program triggers Windows Defender](https://swi-prolog.discourse.group/t/cmake-test-program-triggers-windows-defender/7097)

<div class="topic-metadata">

**Author:** [@mgondan1](https://swi-prolog.discourse.group/u/mgondan1)\
**Replies:** 2\
**Last updated:** [December 22, 2023, 3:14pm UTC](https://swi-prolog.discourse.group/t/cmake-test-program-triggers-windows-defender/7097 "2023-12-22T15:14:03Z")

</div>

MSYS2, RTools etc. I get a (false positive) threat alert from Windows Defender when running cmake from MSYS2. The point at which it fails is very simple stuff from CheckFloatingPointFormat.cmake. The script is basically…

[Next page](https://swi-prolog.discourse.group/tag/discussion/12.md?match_all_tags=true&page=1&tags%5B%5D=discussion)
