#1009086 RFP: scryer-prolog - An open-Source industrial strength production prolog implementation

#1009086#5
Date:
2022-04-07 07:42:13 UTC
From:
To:
   Package name    : scryer-prolog
   Version         : 0.9.0
   Upstream Author : Mark Thom <markjordanthom@gmail.com>
   URL             : https://github.com/mthom/scryer-prolog
   License         : BSD-3-Clause License
   Programming Lang: Rust
   Description     : An open-Source industrial strength production prolog
implementation


Scryer Prolog aims to become to ISO Prolog what GHC is to Haskell: an
open source industrial strength production environment that is also a
testbed for bleeding edge research in logic and constraint programming,
which is itself written in a high-level language.

Phase 1:
Produce an implementation of the Warren Abstract Machine in Rust, done
according to the progression of languages in Warren's Abstract Machine:
A Tutorial Reconstruction.

Phase 1 has been completed in that Scryer Prolog implements in some form
all of the WAM book, including lists, cuts, Debray allocation, first
argument indexing, last call optimization and conjunctive queries.

#1009086#18
Date:
2024-11-08 13:35:06 UTC
From:
To:
Snapshot at 2024-10-29 following release 0.9.4 succesfully builds
as an unofficial draft package,
when embedding 23 crates (22 missing, 1 outdated)
which needs to be packaged before this can officially enter Debian.
The built binary runs and works fine.

Main task now is to package the remaining missing Rust crates.

Here's how you can help:

As user running Debian, you can test this draft package:
Either build it yourself from source,
or if you want to test the binary that I've built
then tell by posting to this bugreport and I will share that.

As developer (any developer: you need not be official member of Debian!)
you can join the Debian Rust team and help package these missing crates:
https://salsa.debian.org/debian/scryer-prolog/-/blob/debian/latest/debian/TODO

 - Jonas

#1009086#27
Date:
2024-11-08 17:15:31 UTC
From:
To:
Snapshot at 2024-10-29 following release 0.9.4 succesfully builds
as an unofficial draft package,
when embedding 21 crates (20 missing, 1 outdated)
which needs to be packaged before this can officially enter Debian.
The built binary runs and works fine.

Main task now is to package the remaining missing Rust crates.

Here's how you can help:

As user running Debian, you can test this draft package:
Either build it yourself from source,
or if you want to test the binary that I've built
then tell by posting to this bugreport and I will share that.

As developer (any developer: you need not be official member of Debian!)
you can join the Debian Rust team and help package these missing crates:
https://salsa.debian.org/debian/scryer-prolog/-/blob/debian/latest/debian/TODO

 - Jonas

#1009086#34
Date:
2025-09-27 09:03:14 UTC
From:
To:
Release 0.10.0 succesfully builds
as an unofficial draft package,
when embedding 24 crates (23 missing, 1 outdated)
which needs to be packaged before this can officially enter Debian.
The built binary however fails a final build check,
seemingly related to linkage against libffi.

Main task now is to solve that linking issue,
and to package the remaining missing Rust crates.

Here's how you can help:

As user running Debian, you can test this draft package:
Either build it yourself from source,
or if you want to test the binary that I've built
then tell by posting to this bugreport and I will share that.

As developer (any developer: you need not be official member of Debian!)
you can join the Debian Rust team and help package these missing crates:
https://salsa.debian.org/debian/scryer-prolog/-/blob/debian/latest/debian/TODO

 - Jonas

#1009086#43
Date:
2026-06-22 09:51:11 UTC
From:
To:
Release 0.10.0 succesfully builds
as an unofficial draft package,
when embedding 23 crates (22 missing, 1 outdated)
which needs to be packaged before this can officially enter Debian.
The built binary runs and works fine.

Main task now is to package the remaining missing Rust crates.

Here's how you can help:

As user running Debian, you can test this draft package:
Either build it yourself from source,
or if you want to test the binary that I've built
then tell by posting to this bugreport and I will share that.

As developer (any developer: you need not be official member of Debian!)
you can join the Debian Rust team and help package these missing crates:
https://salsa.debian.org/debian/scryer-prolog/-/blob/debian/latest/debian/TODO

 - Jonas

#1009086#50
Date:
2026-07-07 15:11:07 UTC
From:
To:
Release 0.10.0 succesfully builds
as an unofficial draft package,
when embedding 17 crates (16 missing, 1 incomplete)
which needs to be packaged before this can officially enter Debian.
The built binary runs and works fine.

Main task now is to package the remaining missing Rust crates.

Here's how you can help:

As user running Debian, you can test this draft package:
Either build it yourself from source,
or if you want to test the binary that I've built
then tell by posting to this bugreport and I will share that.

As developer (any developer: you need not be official member of Debian!)
you can join the Debian Rust team and help package these missing crates:
https://salsa.debian.org/debian/scryer-prolog/-/blob/debian/latest/debian/TODO

 - Jonas

#1009086#57
Date:
2026-07-08 18:30:52 UTC
From:
To:
Dear all,

thank you so much for the awesome progress on this package, especially
to you Philipp for the initiative to file this report, and to you Jonas
for all the excellent work you have already done for this package!

Scryer Prolog is one of the most promising free Prolog implementations,
and it is used for example in the Austrian public sector to reason about
grants for companies in the application G4C which is part of the
Austrian Business Service Portal (https://www.usp.gv.at). It is my hope
that the availability of a Debian package will make Scryer Prolog even
easier to install and use for everyone who is interested in it.

Thanks to swift and diligent work by Michael Schwarz, the packaging has
recently made significant additional progress.

One small detail I noticed: The latest TODO version linked at

https://salsa.debian.org/debian/scryer-prolog/-/blob/debian/latest/debian/TODO

does not yet seem to reflect the latest state of still required
packages, even though the latest state is visible in a specific tag:

https://salsa.debian.org/debian/scryer-prolog/-/blob/debian/0.10.0-0_draft4/debian/TODO?ref_type=tags

If possible, please consider synchronizing these changes to the branch
that is visible when linking to the package, so that everyone who is
interested in contributing immediately sees where help would be welcome.

In addition, please let me use this opportunity to invite everyone who
is interested in Prolog to the upcoming Scryer Prolog Meetup 2026 in
Vienna, Austria.  The meetup takes place on Oct. 24th and 25th, and I
look forward to celebrating the then latest progress on the package
there with you. Please find more information and register at:

https://www.digitalaustria.gv.at/wissenswertes/events/scryerprologmeetup2026

Please keep up the great work, and I hope to meet you in person in
October at the latest!

Thank you and all the best,
Markus

#1009086#62
Date:
2026-07-08 18:43:26 UTC
From:
To:
Quoting Markus Triska (2026-07-08 20:30:52)

Thanks,

 - Jonas

#1009086#67
Date:
2026-08-06 23:31:46 UTC
From:
To:
Release 0.10.0 succesfully builds
as an unofficial draft package,
when embedding 11 missing crates
which needs to be packaged before this can officially enter Debian.
The built binary runs and works fine.

Main task now is to package the remaining missing Rust crates.

Here's how you can help:

As user running Debian, you can test this draft package:
Either build it yourself from source,
or if you want to test the binary that I've built
then tell by posting to this bugreport and I will share that.

As developer (any developer: you need not be official member of Debian!)
you can join the Debian Rust team and help package these missing crates:
https://salsa.debian.org/debian/scryer-prolog/-/blob/debian/latest/debian/TODO

 - Jonas

#1009086#74
Date:
2026-10-06 16:56:00 UTC
From:
To:
As I understand it, the following packages are now also merged thanks to
the ongoing contributions by Michael Schwarz and Debian developers:

    crrl
    dashu-base
    lambert_w
    scryer-modular-bitfield

If possible, please consider updating the TODO file accordingly, so
that everyone interested sees accurately where work is now still needed.

Thank you and all the best,
Markus

#1009086#79
Date:
2026-10-06 18:33:27 UTC
From:
To:
Quoting Markus Triska (2026-10-06 18:56:00)

Where do you see that?

In Debian the common way to track initial packaging work is by filing a
so-called Intent-To-Package (ITP) bugreport, that when filed can be
used to track progress, including having it closed when the package
enters Debian. Some in Debian consider it needless busywork to file
such bugreports, and as I understand it the Rust team even have some
kind of team policy to *not* do it.

For packages *not* tracking their initial packaging work through ITP
bugreports, one can try look for the package to emerge e.g. at
https://tracker.debian.org/pkg/rust-crrl (assuming that is the Debian
source package name used for the package), or look at
https://ftp-master.debian.org/new.html if the initial package has been
uploaded to Debian and is only awaiting a formal approval - at least
for crrl it seems that is the case still.

Anyway, thanks a lot for mentioning those packages, because thanks to
your recent nudging in private conversations I seriously considered
taking on the taks of packaging some of those packages needed for
scryer prolog - which would have been a waste of my time, because it
would ave been duplicated effort. Which is *exactly* the original
reason ITP bugreporting was invented, and still the primary reason for
filing them.

 - Jonas

#1009086#84
Date:
2026-10-06 19:00:14 UTC
From:
To:
Jonas Smedegaard <jonas@jones.dk> writes:

For the packages I mentioned, please see the merged commits here:

https://salsa.debian.org/rust-team/debcargo-conf/-/merge_requests/1232
https://salsa.debian.org/rust-team/debcargo-conf/-/merge_requests/1233
https://salsa.debian.org/rust-team/debcargo-conf/-/merge_requests/1431
https://salsa.debian.org/rust-team/debcargo-conf/-/merge_requests/1459

Michael has successfully produced these packages and they are merged.

I hope Michael can successfully complete the work you started! In case
you still want to help, please consider one of the remaining packages.

Thank you and all the best,
Markus

#1009086#89
Date:
2026-10-06 19:17:58 UTC
From:
To:
Quoting Markus Triska (2026-10-06 21:00:14)

Ah, I was puzzled that you wrote "merged" but I realize now that you
are referring to a Rust team process, not the Debian process that both
I and the Rust team share.

So to revisit your question, now that I realize my misunderstanding its
framing:
in the Rust team for eventual acceptance into Debian. So no, I will not
update the TODO file, because I need that file to reflect the reality
that I am in, in order for my workflow to function (the TODO file
serves not only to inform but also to hint which crates need to be
pulled in for preliminary building the draft package).

My remarks about ITP bugreports still stand: They seem to serve the
purpose that you are asking about: help everyone interested in helping
out know, which pending tasks are in the works and which are still
could need someone lending a hand. Because I will not reinvent the
wheel of ITP bugtracking within that TODO file.
no duplicate work that Michael or anyone else need to complete, and I
am still devoted to maintaining Scryer prolog itself, so no need for
Michael to take over that either (but I am open to collaborative
maintenance if Michael and/or others are interested in helping out).

Kind regards, and sorry for the confusion,

 - Jonas

#1009086#94
Date:
2026-10-21 12:14:01 UTC
From:
To:
Release 0.10.0 succesfully builds
as an unofficial draft package,
when embedding 9 missing crates (7 missing, 2 ahead)
which needs to be packaged before this can officially enter Debian.
The built binary is untested, and checking tests segfaults.

Main task now is to package the remaining missing Rust crates.

Here's how you can help:

As user running Debian, you can test this draft package:
Either build it yourself from source,
or if you want to test the binary that I've built
then tell by posting to this bugreport and I will share that.

As developer (any developer: you need not be official member of Debian!)
you can join the Debian Rust team and help package these missing crates:
https://salsa.debian.org/debian/scryer-prolog/-/blob/debian/latest/debian/TODO

 - Jonas