Markus Triska

Results 705 comments of Markus Triska

To clarify: This item can be completely solved by reasoning about the **virtual** machine state of the WAM as implemented by Scryer Prolog, it is a matter of checking whether...

Let's first unfold the term for a few levels: ?- A = [A|c], A == [[A|c]|c], A == [[[A|c]|c]|c], A == [[[[A|c]|c]|c]|c]. A = [A|c]. So, `A` in this example...

> how(why) to continue in the issue. Even my Scryer is now only the new version, without the issue (I use: Code > Download ZIP). How I can make it...

That's already an excellent find, thank you a lot! So the mistake was introduced in one of the commits since the release, or only intermittently overshadowed by other changes!

These are all terrific insights, thank you a lot! To be absolutely honest, I would have been glad to see such insights appearing over the coming weeks or months. To...

To yield correct results, `library(clpz)` requires a correctly working Prolog system. Taking the example of Trealla Prolog, it is known that it currently does *not* support `library(clpz)`, we see several...

Yes, testing a Prolog system for correctness is indeed a tough mental challenge: That's because, one the one hand, **we rely on certain logical properties** that we know *must* hold...

> We can test every fundamental logical property a correct Prolog system must have. This is indeed a key insight for testing a Prolog system, and you phrased it perfectly:...

In the pure monotonic core of Prolog, removing a *goal* makes the program or query *more general*, and removing a *clause* makes the program *more specific*. For example, if we have: p(A,...

Another recent example of the system silently losing solutions: https://github.com/mthom/scryer-prolog/issues/2257#issuecomment-1872588330 Ideally, all such situations are found automatically, even if it may take a long time to find them.