# Latest

**URL:** https://discourse.prolog-lang.org/latest.md

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

---

## [Welcome to the Prolog Community Discourse! 👋](https://discourse.prolog-lang.org/t/welcome-to-the-prolog-community-discourse/5)

<div class="topic-metadata">

**Author:** [@system](https://discourse.prolog-lang.org/u/system)\
**Replies:** 8\
**Last updated:** [December 11, 2024, 9:10am UTC](https://discourse.prolog-lang.org/t/welcome-to-the-prolog-community-discourse/5 "2024-12-11T09:10:16Z")

</div>

A central forum for the Prolog Community to discuss all things Prolog. :wave: Joining Sign up to join us! :sunglasses: Following Set categories or topics to “Watching” (use the bell :bell: dropdown at the top left) …

---

## [Food for thought: Bayesian Experimental Designer](https://discourse.prolog-lang.org/t/food-for-thought-bayesian-experimental-designer/208)

<div class="topic-metadata">

**Author:** [@j4n\_bur53](https://discourse.prolog-lang.org/u/j4n_bur53)\
**Replies:** 0\
**Last updated:** [September 24, 2026, 12:17pm UTC](https://discourse.prolog-lang.org/t/food-for-thought-bayesian-experimental-designer/208 "2026-09-24T12:17:18Z")

</div>

Hi, Its really amazing how advanced the 80’s were concerning the early expert system wave. You already found expert systems or fault diagnosis systems, that sorted their abduction questions via a clairvoyant value co…

---

## [Food for thought: Schwartzian Transform](https://discourse.prolog-lang.org/t/food-for-thought-schwartzian-transform/207)

<div class="topic-metadata">

**Author:** [@j4n\_bur53](https://discourse.prolog-lang.org/u/j4n_bur53)\
**Replies:** 0\
**Last updated:** [September 23, 2026, 7:52pm UTC](https://discourse.prolog-lang.org/t/food-for-thought-schwartzian-transform/207 "2026-09-23T19:52:38Z")

</div>

Hi, Creating a compare/3 on cyclic terms is a fascinating topic. Obviously the following implementation would work, namely transform a cyclic term into a non-cyclic representation, and compare its representation: /\*…

---

## [Prolog Agent Toolkit](https://discourse.prolog-lang.org/t/prolog-agent-toolkit/203)

<div class="topic-metadata">

**Author:** [@Doug\_Ransom](https://discourse.prolog-lang.org/u/Doug_Ransom)\
**Replies:** 3\
**Last updated:** [September 22, 2026, 3:31pm UTC](https://discourse.prolog-lang.org/t/prolog-agent-toolkit/203 "2026-09-22T15:31:20Z")

</div>

\- \[Prolog Agent Toolkit\]( GitHub - dougransom/prolog-agent-toolkit: Prolog Agent Framework, Reusable Agent Skills, MCP Server Pattern, Neurosymbolic AI, and Safe Multi-Engine Execution (Scryer, SWI, Trealla, Tau). · GitH…

---

## [Food for thought: Does your Agent have a Card?](https://discourse.prolog-lang.org/t/food-for-thought-does-your-agent-have-a-card/206)

<div class="topic-metadata">

**Author:** [@j4n\_bur53](https://discourse.prolog-lang.org/u/j4n_bur53)\
**Replies:** 0\
**Last updated:** [September 16, 2026, 3:50pm UTC](https://discourse.prolog-lang.org/t/food-for-thought-does-your-agent-have-a-card/206 "2026-09-16T15:50:48Z")

</div>

Hi, That was fast. We quickly climbed the stairs from LLM, to LRM and we are in the mists of Swarm intelligence. Means we are not only closer to more P(doom) fear, also MCP has a companion A2A: Donated by Google …

---

## [Food for thought: Are there ISO Prolog dialects?](https://discourse.prolog-lang.org/t/food-for-thought-are-there-iso-prolog-dialects/205)

<div class="topic-metadata">

**Author:** [@j4n\_bur53](https://discourse.prolog-lang.org/u/j4n_bur53)\
**Replies:** 0\
**Last updated:** [September 11, 2026, 12:42pm UTC](https://discourse.prolog-lang.org/t/food-for-thought-are-there-iso-prolog-dialects/205 "2026-09-11T12:42:02Z")

</div>

Strictly speaking for every standard that has implementation specific parts or extension parts, there are dialects which fill in these implementation specific parts or provide these extension parts. In the ISO Prolog …

---

## [RANT about module system](https://discourse.prolog-lang.org/t/rant-about-module-system/204)

<div class="topic-metadata">

**Author:** [@hurufu](https://discourse.prolog-lang.org/u/hurufu)\
**Replies:** 18\
**Last updated:** [September 9, 2026, 8:26am UTC](https://discourse.prolog-lang.org/t/rant-about-module-system/204 "2026-09-09T08:26:10Z")

</div>

BIG DISCLAIMER: This is a rant, don’t take it too seriously. tldr: Just add prefix to predicates from same file. I just hate Quintus-style module system. I’m currently working on a large-ish project and parts of it are…

---

## [Food for thought: Le Petit Bistro as a Trinity Use Case](https://discourse.prolog-lang.org/t/food-for-thought-le-petit-bistro-as-a-trinity-use-case/202)

<div class="topic-metadata">

**Author:** [@j4n\_bur53](https://discourse.prolog-lang.org/u/j4n_bur53)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 7:13pm UTC](https://discourse.prolog-lang.org/t/food-for-thought-le-petit-bistro-as-a-trinity-use-case/202 "2026-09-02T19:13:29Z")

</div>

Hi, I really wonder what use cases Web Prolog trinity would have. Would Web Prolog trinity reach in its scope into the domain of AI chat bots inside a web page? Ok, google has hijacked the term “declarative”, when an…

---

## [Food for thought: ISOMICRO profile of Web Prolog](https://discourse.prolog-lang.org/t/food-for-thought-isomicro-profile-of-web-prolog/201)

<div class="topic-metadata">

**Author:** [@j4n\_bur53](https://discourse.prolog-lang.org/u/j4n_bur53)\
**Replies:** 7\
**Last updated:** [September 1, 2026, 11:42am UTC](https://discourse.prolog-lang.org/t/food-for-thought-isomicro-profile-of-web-prolog/201 "2026-09-01T11:42:37Z")

</div>

Hi, I miss an ISOMICRO profile of Web Prolog, a profile that can run on small embedded devices, and only single threaded. Like Python can do for example. I deleted my previous post, since it drifted into high perfor…

---

## [A book of ideas and proposals for the future of Prolog](https://discourse.prolog-lang.org/t/a-book-of-ideas-and-proposals-for-the-future-of-prolog/189)

<div class="topic-metadata">

**Author:** [@Torbjorn](https://discourse.prolog-lang.org/u/Torbjorn)\
**Replies:** 33\
**Last updated:** [August 30, 2026, 7:27am UTC](https://discourse.prolog-lang.org/t/a-book-of-ideas-and-proposals-for-the-future-of-prolog/189 "2026-08-30T07:27:05Z")

</div>

Hi all, This is my first message in this forum, and since I am not a central figure in the Prolog community, I should probably begin with a brief introduction. My name is Torbjörn Lager. I am professor emeritus of gene…

---

## [Systems programming using Prolog (aka uniform and well supported FFI)](https://discourse.prolog-lang.org/t/systems-programming-using-prolog-aka-uniform-and-well-supported-ffi/200)

<div class="topic-metadata">

**Author:** [@hurufu](https://discourse.prolog-lang.org/u/hurufu)\
**Replies:** 9\
**Last updated:** [August 18, 2026, 10:24pm UTC](https://discourse.prolog-lang.org/t/systems-programming-using-prolog-aka-uniform-and-well-supported-ffi/200 "2026-08-18T22:24:51Z")

</div>

Hello Prolog Implementers, It is surprisingly difficult to write (useful) desktop or server applications using common subset of Prolog (aka ISO Prolog) without commiting to a single implementation. Which is in part caus…

---

## [Prolog paid internship opportunity](https://discourse.prolog-lang.org/t/prolog-paid-internship-opportunity/184)

<div class="topic-metadata">

**Author:** [@greatquarter](https://discourse.prolog-lang.org/u/greatquarter)\
**Replies:** 1\
**Last updated:** [August 17, 2026, 8:00am UTC](https://discourse.prolog-lang.org/t/prolog-paid-internship-opportunity/184 "2026-08-17T08:00:05Z")

</div>

Location: Remote Duration: flexible, 1-2 months? Compensation: Paid About the Role This internship focuses on building systems in Prolog. You will work on real-world challenging problems involving Event Calculus and …

---

## [New to Prolog: Needs documents to start with in a good way](https://discourse.prolog-lang.org/t/new-to-prolog-needs-documents-to-start-with-in-a-good-way/186)

<div class="topic-metadata">

**Author:** [@hkalo081](https://discourse.prolog-lang.org/u/hkalo081)\
**Replies:** 2\
**Last updated:** [August 16, 2026, 1:45pm UTC](https://discourse.prolog-lang.org/t/new-to-prolog-needs-documents-to-start-with-in-a-good-way/186 "2026-08-16T13:45:11Z")

</div>

Hello, I would like to get involved in Prolog, then I would like some assistance or advice about the tutorial to start with. I know that there are plenty of documents but I am not sure if all are well designed to get in…

---

## [Internationalization via reified messages](https://discourse.prolog-lang.org/t/internationalization-via-reified-messages/199)

<div class="topic-metadata">

**Author:** [@j4n\_bur53](https://discourse.prolog-lang.org/u/j4n_bur53)\
**Replies:** 7\
**Last updated:** [August 13, 2026, 5:24pm UTC](https://discourse.prolog-lang.org/t/internationalization-via-reified-messages/199 "2026-08-13T17:24:09Z")

</div>

Hi, Somehow I didn’t find any PIP yet for Internationalization. I think SWI prolog has a messaging infrastructure, which can also generated messages in different languages. Probably inspired or inherited by Quintus Pr…

---

## [Neuro symbolic reasoning on a AI laptop](https://discourse.prolog-lang.org/t/neuro-symbolic-reasoning-on-a-ai-laptop/190)

<div class="topic-metadata">

**Author:** [@j4n\_bur53](https://discourse.prolog-lang.org/u/j4n_bur53)\
**Replies:** 1\
**Last updated:** [September 25, 2026, 5:30pm UTC](https://discourse.prolog-lang.org/t/neuro-symbolic-reasoning-on-a-ai-laptop/190 "2026-09-25T17:30:36Z")

</div>

Just reading there is an Anthropic xAI deal. But you can also do neuro symbolic compute at home, without the need for a big data center. This might be interesting for Prologers seeking data privacy and hosting indepen…

---

## [Some thoughts about a test framework for PIPS](https://discourse.prolog-lang.org/t/some-thoughts-about-a-test-framework-for-pips/108)

<div class="topic-metadata">

**Author:** [@JanWielemaker](https://discourse.prolog-lang.org/u/JanWielemaker)\
**Replies:** 10\
**Last updated:** [May 4, 2026, 6:47pm UTC](https://discourse.prolog-lang.org/t/some-thoughts-about-a-test-framework-for-pips/108 "2026-05-04T18:47:27Z")

</div>

I had a little look into testing. I think there are two basic approaches XSB A test is a Prolog file with some main goal. The test driver (a shell script) runs Prolog, loads the file and runs the main goal. Tha…

---

## [LOPSTR+PPDP 2026 Call for Papers](https://discourse.prolog-lang.org/t/lopstr-ppdp-2026-call-for-papers/188)

<div class="topic-metadata">

**Author:** [@Theresa\_Swift](https://discourse.prolog-lang.org/u/Theresa_Swift)\
**Replies:** 0\
**Last updated:** [May 3, 2026, 5:34pm UTC](https://discourse.prolog-lang.org/t/lopstr-ppdp-2026-call-for-papers/188 "2026-05-03T17:34:13Z")

</div>

Overview The 2026 Joint International Symposium: LOPSTR+PPDP brings together two long-established conferences in symbolic AI: The 36th Annual Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR), and T…

---

## [From test runner to test reporter (PIP Cockpit Solutions)](https://discourse.prolog-lang.org/t/from-test-runner-to-test-reporter-pip-cockpit-solutions/187)

<div class="topic-metadata">

**Author:** [@j4n\_bur53](https://discourse.prolog-lang.org/u/j4n_bur53)\
**Replies:** 0\
**Last updated:** [May 2, 2026, 9:23am UTC](https://discourse.prolog-lang.org/t/from-test-runner-to-test-reporter-pip-cockpit-solutions/187 "2026-05-02T09:23:30Z")

</div>

I want to lift this discussion to the automation issue: Some thoughts about a test framework for PIPS https://discourse.prolog-lang.org/t/some-thoughts-about-a-test-framework-for-pips/108 While the gold standard in…

---

## [Implementing embedded implication](https://discourse.prolog-lang.org/t/implementing-embedded-implication/185)

<div class="topic-metadata">

**Author:** [@j4n\_bur53](https://discourse.prolog-lang.org/u/j4n_bur53)\
**Replies:** 0\
**Last updated:** [April 25, 2026, 9:33am UTC](https://discourse.prolog-lang.org/t/implementing-embedded-implication/185 "2026-04-25T09:33:27Z")

</div>

Clause references in Prolog have a little untouched existence. There are seldom in the spotlight. One could take SWI-Prolog as a template, but will probably run into ideas of built-ins supporting multiple modes. So wh…

---

## [Float enhancements stalled?](https://discourse.prolog-lang.org/t/float-enhancements-stalled/183)

<div class="topic-metadata">

**Author:** [@j4n\_bur53](https://discourse.prolog-lang.org/u/j4n_bur53)\
**Replies:** 4\
**Last updated:** [March 24, 2026, 1:00pm UTC](https://discourse.prolog-lang.org/t/float-enhancements-stalled/183 "2026-03-24T13:00:51Z")

</div>

Hi, Somehow this link is broken ( Not Found ): 0106.0 Float enhancements Draft https://prolog-lang.org/ImprovementsForum/0106-floats-enhancements.html Also there is no consensus between ECLiPSe and SWI in realizati…

---

## [Column (type) specifiers](https://discourse.prolog-lang.org/t/column-type-specifiers/182)

<div class="topic-metadata">

**Author:** [@JanWielemaker](https://discourse.prolog-lang.org/u/JanWielemaker)\
**Replies:** 0\
**Last updated:** [February 27, 2026, 1:10pm UTC](https://discourse.prolog-lang.org/t/column-type-specifiers/182 "2026-02-27T13:10:17Z")

</div>

I had a look at XSB’s CSV handling predicates, notably load\_csv/2 and load\_dsv/3. The idea was to have a look which of this functionality would fit SWI-Prolog’s CSV reader nicely. The obvious candidate that also came …

---

## [Confirming that Prolog code formally resolves the Liar Paradox](https://discourse.prolog-lang.org/t/confirming-that-prolog-code-formally-resolves-the-liar-paradox/181)

<div class="topic-metadata">

**Author:** [@\_Olcott](https://discourse.prolog-lang.org/u/_Olcott)\
**Replies:** 0\
**Last updated:** [January 8, 2026, 11:25pm UTC](https://discourse.prolog-lang.org/t/confirming-that-prolog-code-formally-resolves-the-liar-paradox/181 "2026-01-08T23:25:40Z")

</div>

Please confirm that all of this is true. Non-programmers and non-Prolog programmers only understand Occurs‑check failure as “Prolog doesn’t like it”. When you write LP = not(true(LP)) you are defining LP in terms of …

---

## [Subgraph Isomorphism: Prolog vs. Conventional](https://discourse.prolog-lang.org/t/subgraph-isomorphism-prolog-vs-conventional/173)

<div class="topic-metadata">

**Author:** [@Bob\_Kowalski](https://discourse.prolog-lang.org/u/Bob_Kowalski)\
**Replies:** 6\
**Last updated:** [November 26, 2025, 8:57am UTC](https://discourse.prolog-lang.org/t/subgraph-isomorphism-prolog-vs-conventional/173 "2025-11-26T08:57:01Z")

</div>

This paper has just been published on ArXiv: https://arxiv.org/pdf/2511.13600. Here are some quotes from the paper: “This project utilizes the logic language Prolog to define rules that represent particular patterns an…

---

## [Comments on format tests](https://discourse.prolog-lang.org/t/comments-on-format-tests/171)

<div class="topic-metadata">

**Author:** [@JanWielemaker](https://discourse.prolog-lang.org/u/JanWielemaker)\
**Replies:** 16\
**Last updated:** [November 25, 2025, 10:35pm UTC](https://discourse.prolog-lang.org/t/comments-on-format-tests/171 "2025-11-25T22:35:17Z")

</div>

Thanks for the tests, @jschimpf. I added support for expressions for \*. That reduces the failures from 10 to 5. Also restricted ~a to atoms and strings, leaving 4 discrepancies. Now it gets interesting. format('…

---

## [Progress notes on text\_max](https://discourse.prolog-lang.org/t/progress-notes-on-text-max/172)

<div class="topic-metadata">

**Author:** [@JanWielemaker](https://discourse.prolog-lang.org/u/JanWielemaker)\
**Replies:** 3\
**Last updated:** [November 24, 2025, 1:16pm UTC](https://discourse.prolog-lang.org/t/progress-notes-on-text-max/172 "2025-11-24T13:16:01Z")

</div>

I have implemented portable(true), max\_text(+Length)andtruncated(-Bool)\`. Some remarks: I renamed text\_max(+Length) to max\_text(+Length) because all Prolog options and flags are max\_\*. Will be renamed to whatever t…

---

## [Draft PIP-0110-format](https://discourse.prolog-lang.org/t/draft-pip-0110-format/170)

<div class="topic-metadata">

**Author:** [@jschimpf](https://discourse.prolog-lang.org/u/jschimpf)\
**Replies:** 0\
**Last updated:** [November 6, 2025, 2:32am UTC](https://discourse.prolog-lang.org/t/draft-pip-0110-format/170 "2025-11-06T02:32:52Z")

</div>

Drafting and testing for PIP-0110 for format/2,3 threw up quite a number of inconsistencies between implementations. Here is a list of issues, together with my suggestion for how to resolve the issue in the PIP. Please c…

---

## [X{Attrs} syntax](https://discourse.prolog-lang.org/t/x-attrs-syntax/164)

<div class="topic-metadata">

**Author:** [@JanWielemaker](https://discourse.prolog-lang.org/u/JanWielemaker)\
**Replies:** 9\
**Last updated:** [October 6, 2025, 12:23pm UTC](https://discourse.prolog-lang.org/t/x-attrs-syntax/164 "2025-10-06T12:23:55Z")

</div>

Somewhat related. @jschimpf, you are using X{attr1:V1, …} to read attributed variables. What does that mean if a variable already has attributes. E.g., ?- write(X{a:1}), write(X{b:2}). And also if there are differe…

---

## [Prolog Education Workshop 2025](https://discourse.prolog-lang.org/t/prolog-education-workshop-2025/160)

<div class="topic-metadata">

**Author:** [@jfmc](https://discourse.prolog-lang.org/u/jfmc)\
**Replies:** 0\
**Last updated:** [June 26, 2025, 8:19am UTC](https://discourse.prolog-lang.org/t/prolog-education-workshop-2025/160 "2025-06-26T08:19:22Z")

</div>

Prolog Education Workshop 2025 CALL FOR PAPERS PEG 2.0 invites you to submit papers to the Third Prolog Education Workshop, PEG 2025, to take place at \[ICLP 2025 (The 41st International Conference on Logic Programming), …

---

## [Is there room to adopt a flag strict\_iso?](https://discourse.prolog-lang.org/t/is-there-room-to-adopt-a-flag-strict-iso/146)

<div class="topic-metadata">

**Author:** [@j4n\_bur53](https://discourse.prolog-lang.org/u/j4n_bur53)\
**Replies:** 3\
**Last updated:** [May 25, 2025, 11:29am UTC](https://discourse.prolog-lang.org/t/is-there-room-to-adopt-a-flag-strict-iso/146 "2025-05-25T11:29:11Z")

</div>

Interestingly a flag strict\_iso could solve a few vexing problems. For example the ISO core standard did only mention floor/1 with signature F → I. So in GNU Prolog I can do: /\* GNU Prolog 1.5.0 \*/ ?- current\_prolog…

---

## [Experiences with argnames/struct](https://discourse.prolog-lang.org/t/experiences-with-argnames-struct/147)

<div class="topic-metadata">

**Author:** [@JanWielemaker](https://discourse.prolog-lang.org/u/JanWielemaker)\
**Replies:** 5\
**Last updated:** [April 9, 2025, 2:32pm UTC](https://discourse.prolog-lang.org/t/experiences-with-argnames-struct/147 "2025-04-09T14:32:07Z")

</div>

Following the ongoing discussion on “static dicts”, aka Ciao argnames or ECLiPSe “structs”, I have implemented most of it in a branch GitHub - SWI-Prolog/swipl-devel at argnames Here are some experience that is hopefull…

[Next page](https://discourse.prolog-lang.org/latest.md?page=1)
