# Resources

**URL:** https://swi-prolog.discourse.group/c/resources/10.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)

---

## [About the Resources category](https://swi-prolog.discourse.group/t/about-the-resources-category/480)

<div class="topic-metadata">

**Author:** [@jan](https://swi-prolog.discourse.group/u/jan)\
**Replies:** 0

</div>

Ask for or announce (SWI-)Prolog related resources (programs, libraries, etc). Please use this category if you are looking for a library, program, etc. This topic is related to announce, but announce is more about …

---

## [Probabilistic Logic Programming](https://swi-prolog.discourse.group/t/probabilistic-logic-programming/506)

<div class="topic-metadata">

**Author:** [@ielbert](https://swi-prolog.discourse.group/u/ielbert)\
**Replies:** 20\
**Last updated:** [March 25, 2025, 2:20pm UTC](https://swi-prolog.discourse.group/t/probabilistic-logic-programming/506 "2025-03-25T14:20:12Z")

</div>

What is a good resource for Probabilistic Logic Programming in Prolog, SWI-Prolog in particular? I found ProbLog which looks elegant but seems to be implemented on top of Python instead of one of the Prolog flavors.

---

## [GitHub Actions and Workflows for Logtalk and Prolog repos](https://swi-prolog.discourse.group/t/github-actions-and-workflows-for-logtalk-and-prolog-repos/1442)

<div class="topic-metadata">

**Author:** [@pmoura](https://swi-prolog.discourse.group/u/pmoura)\
**Replies:** 13\
**Last updated:** [January 23, 2025, 6:17am UTC](https://swi-prolog.discourse.group/t/github-actions-and-workflows-for-logtalk-and-prolog-repos/1442 "2025-01-23T06:17:56Z")

</div>

Hi, For the past few weeks, I have been implementing a set of GitHub Actions and Workflows for Logtalk repos, available from: https://github.com/logtalk-actions These necessarily include actions for setting up support…

---

## [Libraries: queues and heaps](https://swi-prolog.discourse.group/t/libraries-queues-and-heaps/7429)

<div class="topic-metadata">

**Author:** [@anon419083](https://swi-prolog.discourse.group/u/anon419083)\
**Replies:** 38\
**Last updated:** [May 27, 2024, 8:42am UTC](https://swi-prolog.discourse.group/t/libraries-queues-and-heaps/7429 "2024-05-27T08:42:04Z")

</div>

While still working with O’Keefe’s book (and trying to make some progress), I came to the point of informed search algorithms like Dijkstra, A\* and related subjects. In those cases the data structure to use are heaps/pri…

---

## [Any Property Based Testing Tool for SWI Prolog?](https://swi-prolog.discourse.group/t/any-property-based-testing-tool-for-swi-prolog/7313)

<div class="topic-metadata">

**Author:** [@damiazz94](https://swi-prolog.discourse.group/u/damiazz94)\
**Replies:** 2\
**Last updated:** [March 25, 2024, 6:14pm UTC](https://swi-prolog.discourse.group/t/any-property-based-testing-tool-for-swi-prolog/7313 "2024-03-25T18:14:22Z")

</div>

As the title said, is there any property based testing tool for SWI Prolog? plunit proivdes unit testing, but not property based testing. By looking at the different topics here, I’ve found only an implementation in Lo…

---

## [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 (…

---

## [Update version of coverage analysis](https://swi-prolog.discourse.group/t/update-version-of-coverage-analysis/5316)

<div class="topic-metadata">

**Author:** [@jan](https://swi-prolog.discourse.group/u/jan)\
**Replies:** 3\
**Last updated:** [February 7, 2024, 8:33am UTC](https://swi-prolog.discourse.group/t/update-version-of-coverage-analysis/5316 "2024-02-07T08:33:18Z")

</div>

I’ve pushed an update to the coverage analysis tool, show\_coverage/1,2. Using the option list we now get a detailed annotated program back. For example (using the good old CHAT80 program, available as add-on chat80): …

---

## [Can anyone recommend a good book for learning modern Prolog?](https://swi-prolog.discourse.group/t/can-anyone-recommend-a-good-book-for-learning-modern-prolog/6643)

<div class="topic-metadata">

**Author:** [@Yossu](https://swi-prolog.discourse.group/u/Yossu)\
**Replies:** 10\
**Last updated:** [June 18, 2023, 2:52pm UTC](https://swi-prolog.discourse.group/t/can-anyone-recommend-a-good-book-for-learning-modern-prolog/6643 "2023-06-18T14:52:02Z")

</div>

I originally learnt Prolog some 35+ years ago, and have recently come back to it. As it’s been so many years since I last did any, I was starting mostly from scratch. I have got some way, but am not advancing. I learn b…

---

## [Advice on modeling program behavior with Prolog](https://swi-prolog.discourse.group/t/advice-on-modeling-program-behavior-with-prolog/6479)

<div class="topic-metadata">

**Author:** [@girzel](https://swi-prolog.discourse.group/u/girzel)\
**Replies:** 6\
**Last updated:** [April 20, 2023, 9:52pm UTC](https://swi-prolog.discourse.group/t/advice-on-modeling-program-behavior-with-prolog/6479 "2023-04-20T21:52:07Z")

</div>

Hi folks, In my day job, we have a medium-complicated system with many moving parts, and in particular many behaviors that are dependent on time elements (unreliable events, data coming in out of order, etc). It’s prett…

---

## [Ann: sweep (Emacs interface) version 0.8.0](https://swi-prolog.discourse.group/t/ann-sweep-emacs-interface-version-0-8-0/5888)

<div class="topic-metadata">

**Author:** [@oskardrums](https://swi-prolog.discourse.group/u/oskardrums)\
**Replies:** 0\
**Last updated:** [October 24, 2022, 6:11am UTC](https://swi-prolog.discourse.group/t/ann-sweep-emacs-interface-version-0-8-0/5888 "2022-10-24T06:11:28Z")

</div>

Hey all, Version 0.8.0 of sweep, the SWI-Prolog Emacs integration package, is out and available for installation with M-x package-install sweeprolog (or M-x package-update sweeprolog) inside Emacs. The most important c…

---

## [Ann: Sweep (new Emacs interface) version 0.6.0](https://swi-prolog.discourse.group/t/ann-sweep-new-emacs-interface-version-0-6-0/5849)

<div class="topic-metadata">

**Author:** [@oskardrums](https://swi-prolog.discourse.group/u/oskardrums)\
**Replies:** 0\
**Last updated:** [October 12, 2022, 3:43pm UTC](https://swi-prolog.discourse.group/t/ann-sweep-new-emacs-interface-version-0-6-0/5849 "2022-10-12T15:43:58Z")

</div>

Hi all, Some updates regarding sweep: As a reminder, sweep is a new GNU Emacs interface for working with SWI-Prolog code. See the initial Discourse thread introducing sweep and the sweep manual for more background. Fi…

---

## [Implementing negation from this book](https://swi-prolog.discourse.group/t/implementing-negation-from-this-book/5576)

<div class="topic-metadata">

**Author:** [@lug](https://swi-prolog.discourse.group/u/lug)\
**Replies:** 1\
**Last updated:** [July 3, 2022, 9:45am UTC](https://swi-prolog.discourse.group/t/implementing-negation-from-this-book/5576 "2022-07-03T09:45:39Z")

</div>

I’ve seen surprisingly few mentions of this book around, which has a few somewhat interesting ideas. A few pages: As advertised, it implements logical negation. It seems to be a kind of constructive negation done b…

---

## [Book recommendations?](https://swi-prolog.discourse.group/t/book-recommendations/5401)

<div class="topic-metadata">

**Author:** [@brunokim](https://swi-prolog.discourse.group/u/brunokim)\
**Replies:** 5\
**Last updated:** [May 21, 2022, 6:13pm UTC](https://swi-prolog.discourse.group/t/book-recommendations/5401 "2022-05-21T18:13:19Z")

</div>

I want to treat myself with some dead-tree book from Amazon, what are your recommendations? My main interests are compilers and good old-fashioned AI, but anything Prolog-related that you have enjoyed is welcome!

---

## [Pengines library for Go](https://swi-prolog.discourse.group/t/pengines-library-for-go/5286)

<div class="topic-metadata">

**Author:** [@guregu](https://swi-prolog.discourse.group/u/guregu)\
**Replies:** 1\
**Last updated:** [April 17, 2022, 7:42am UTC](https://swi-prolog.discourse.group/t/pengines-library-for-go/5286 "2022-04-17T07:42:16Z")

</div>

Hello, I’ve released an initial version of Pengines integration for the Go programming language here: It includes support for the JSON format API, Prolog format API, and a rough implementation of the pengine\_rpc/3 pre…

---

## [Chromatic diagnostics](https://swi-prolog.discourse.group/t/chromatic-diagnostics/5219)

<div class="topic-metadata">

**Author:** [@oskardrums](https://swi-prolog.discourse.group/u/oskardrums)\
**Replies:** 3\
**Last updated:** [April 4, 2022, 2:59pm UTC](https://swi-prolog.discourse.group/t/chromatic-diagnostics/5219 "2022-04-04T14:59:23Z")

</div>

Hey all, Last weekend I’ve written two little packages that may be useful for others in the audience: diagnostics.pl and flymake-swi-prolog.el diagnostics.pl is a SWI-Prolog packge providing a simple and extensible in…

---

## [Cosmos 0.13 alpha released](https://swi-prolog.discourse.group/t/cosmos-0-13-alpha-released/5090)

<div class="topic-metadata">

**Author:** [@lug](https://swi-prolog.discourse.group/u/lug)\
**Replies:** 0\
**Last updated:** [March 5, 2022, 9:03am UTC](https://swi-prolog.discourse.group/t/cosmos-0-13-alpha-released/5090 "2022-03-05T09:03:55Z")

</div>

Hello! I’ve come to announce an all-new language, now being hosted as a Swi-Prolog pack. https://mcsoto.github.io/cosmos-lang/ What do we aim to provide? Functional support with lambdas, etc. Types and possibly late…

---

## [DAP Backed Toplevel](https://swi-prolog.discourse.group/t/dap-backed-toplevel/5038)

<div class="topic-metadata">

**Author:** [@oskardrums](https://swi-prolog.discourse.group/u/oskardrums)\
**Replies:** 1\
**Last updated:** [February 26, 2022, 6:06pm UTC](https://swi-prolog.discourse.group/t/dap-backed-toplevel/5038 "2022-02-26T18:06:40Z")

</div>

Hey, Version 0.4.0 of package debug\_adapter is out and available via: ?- pack\_install(debug\_adapter) This release features a new mode of operation which provides an integrated Prolog top-level. First a screenshot for…

---

## [Debug Adapter Protocol Server 0.2.13](https://swi-prolog.discourse.group/t/debug-adapter-protocol-server-0-2-13/5010)

<div class="topic-metadata">

**Author:** [@oskardrums](https://swi-prolog.discourse.group/u/oskardrums)\
**Replies:** 8\
**Last updated:** [February 24, 2022, 10:36am UTC](https://swi-prolog.discourse.group/t/debug-adapter-protocol-server-0-2-13/5010 "2022-02-24T10:36:24Z")

</div>

Hi, There have been some recent updates to the SWI-Prolog DAP server implementation. The latest version is available for installation by running: ?- pack\_install(debug\_adapter). ... Package: debug\_adapt…

---

## [Game graphics](https://swi-prolog.discourse.group/t/game-graphics/4816)

<div class="topic-metadata">

**Author:** [@lug](https://swi-prolog.discourse.group/u/lug)\
**Replies:** 0\
**Last updated:** [December 28, 2021, 11:26am UTC](https://swi-prolog.discourse.group/t/game-graphics/4816 "2021-12-28T11:26:50Z")

</div>

Has there ever been any attempt at a game library? code the facts and… bam, get game. might be neat. Something like allegro or ncurses. It needs graphics of some sort, after all.

---

## [Trap/1 for trapping errors](https://swi-prolog.discourse.group/t/trap-1-for-trapping-errors/4279)

<div class="topic-metadata">

**Author:** [@jan](https://swi-prolog.discourse.group/u/jan)\
**Replies:** 6\
**Last updated:** [August 12, 2021, 6:58am UTC](https://swi-prolog.discourse.group/t/trap-1-for-trapping-errors/4279 "2021-08-12T06:58:01Z")

</div>

I’ve pushed a patch, adding library(prolog\_debug). This does: Move spy/1 and related predicates from the core system to the library. There is no reason to put this stuff in the core system. With autoloading, mos…

---

## [Initial port for sCASP, a top-down interpreter for ASP programs with constraints](https://swi-prolog.discourse.group/t/initial-port-for-scasp-a-top-down-interpreter-for-asp-programs-with-constraints/4130)

<div class="topic-metadata">

**Author:** [@jan](https://swi-prolog.discourse.group/u/jan)\
**Replies:** 7\
**Last updated:** [July 15, 2021, 7:22am UTC](https://swi-prolog.discourse.group/t/initial-port-for-scasp-a-top-down-interpreter-for-asp-programs-with-constraints/4130 "2021-07-15T07:22:40Z")

</div>

I’ve created a quick and dirty port for sCASP, a top-down interpreter for ASP programs with constraints. This system was created by Kyle Marple as sASP. Joaquín Arias Herrero added constraints and ported it from SWI-P…

---

## [FOIL Algorithm Implementation](https://swi-prolog.discourse.group/t/foil-algorithm-implementation/3807)

<div class="topic-metadata">

**Author:** [@aarong4](https://swi-prolog.discourse.group/u/aarong4)\
**Replies:** 2\
**Last updated:** [April 8, 2021, 5:40am UTC](https://swi-prolog.discourse.group/t/foil-algorithm-implementation/3807 "2021-04-08T05:40:32Z")

</div>

Hello all, Ive recently been playing around with Prolog this past semester and ran into some neat new concepts in one of my courses at University. The concept in question being Inductive Logic Programming and an algorith…

---

## [Learning resources](https://swi-prolog.discourse.group/t/learning-resources/3576)

<div class="topic-metadata">

**Author:** [@DainTorson](https://swi-prolog.discourse.group/u/DainTorson)\
**Replies:** 7\
**Last updated:** [February 9, 2021, 11:00am UTC](https://swi-prolog.discourse.group/t/learning-resources/3576 "2021-02-09T11:00:46Z")

</div>

Hello! I recently graduated from BSUIR (Belarus) and now considering using prolog in my master thesis next year. Unfortunately, there aren’t much decent online resourses to learn about prolog. I flipped through http://l…

---

## [MongoDB Driver](https://swi-prolog.discourse.group/t/mongodb-driver/3239)

<div class="topic-metadata">

**Author:** [@mcculloch](https://swi-prolog.discourse.group/u/mcculloch)\
**Replies:** 0\
**Last updated:** [November 8, 2020, 2:08pm UTC](https://swi-prolog.discourse.group/t/mongodb-driver/3239 "2020-11-08T14:08:41Z")

</div>

There is a MongoDB driver for SWI-Prolog in github. Github is not a very easy to use for those who have never used it. I’d rather not learn it now just to evaluate something that may not be useful. Does anyone know if…

---

## [Save prolog execution state](https://swi-prolog.discourse.group/t/save-prolog-execution-state/3071)

<div class="topic-metadata">

**Author:** [@damiazz94](https://swi-prolog.discourse.group/u/damiazz94)\
**Replies:** 3\
**Last updated:** [October 31, 2020, 11:46am UTC](https://swi-prolog.discourse.group/t/save-prolog-execution-state/3071 "2020-10-31T11:46:26Z")

</div>

Suppose i need to find all the paths between all the pairs of nodes in an undirected graph. If the graph (represented with facts edge/2) is big (for example, composed of 100.000 facts), the computation is very expensive …

---

## [Block chain/distributed ledger library?](https://swi-prolog.discourse.group/t/block-chain-distributed-ledger-library/481)

<div class="topic-metadata">

**Author:** [@jan](https://swi-prolog.discourse.group/u/jan)\
**Replies:** 14\
**Last updated:** [June 27, 2020, 8:48am UTC](https://swi-prolog.discourse.group/t/block-chain-distributed-ledger-library/481 "2020-06-27T08:48:22Z")

</div>

I’m looking for an elementary block chain or distributed ledger library. That is, not the crypto money stuff, but something I can use to maintain a distributed consensus about a sequence of records. I’m looking for …

---

## [Probabilistic Logic Programming Forum](https://swi-prolog.discourse.group/t/probabilistic-logic-programming-forum/2437)

<div class="topic-metadata">

**Author:** [@jacoblol147](https://swi-prolog.discourse.group/u/jacoblol147)\
**Replies:** 4\
**Last updated:** [May 31, 2020, 6:07pm UTC](https://swi-prolog.discourse.group/t/probabilistic-logic-programming-forum/2437 "2020-05-31T18:07:39Z")

</div>

Hello, is there any Problog forum out there ? (have already searched without any luck) Also are we able to post such problems/questions here ? Thank you !

---

## [Delphi library for SWI-Prolog](https://swi-prolog.discourse.group/t/delphi-library-for-swi-prolog/486)

<div class="topic-metadata">

**Author:** [@maelh](https://swi-prolog.discourse.group/u/maelh)\
**Replies:** 13\
**Last updated:** [March 15, 2020, 11:03am UTC](https://swi-prolog.discourse.group/t/delphi-library-for-swi-prolog/486 "2020-03-15T11:03:59Z")

</div>

Hello, I am making a Delphi library for SWI-Prolog, which is a direct translation of the C-API. It’s not a complete translation yet, but the major parts are there, and it was enough to embed Prolog in one of my programs…

---

## [Json-LD, Graphql-LD support...?](https://swi-prolog.discourse.group/t/json-ld-graphql-ld-support/1971)

<div class="topic-metadata">

**Author:** [@saraswat](https://swi-prolog.discourse.group/u/saraswat)\
**Replies:** 0\
**Last updated:** [March 5, 2020, 7:01pm UTC](https://swi-prolog.discourse.group/t/json-ld-graphql-ld-support/1971 "2020-03-05T19:01:29Z")

</div>

Greetings – The modern age brings marvelous new capabilities for knowledge extraction from complex texts. But this has to be backed up with appropriate knowledge representation and reasoning. So taking a look now at th…

---

## ["Power" implementation](https://swi-prolog.discourse.group/t/power-implementation/1937)

<div class="topic-metadata">

**Author:** [@Boris](https://swi-prolog.discourse.group/u/Boris)\
**Replies:** 4\
**Last updated:** [February 29, 2020, 9:50pm UTC](https://swi-prolog.discourse.group/t/power-implementation/1937 "2020-02-29T21:50:07Z")

</div>

I am sharing with you the “raising to the power” code that I found earlier this week. This is a mechanical translation from the C++ code found in the book “From Mathematics to Generic Programming” by Stepanov and Rose. (…

[Next page](https://swi-prolog.discourse.group/c/resources/10.md?page=1)
