Doing web UI things this week, and it feels like trying to run through a tar pit. The Prolog dialect I'm using came out with a first draft of it's first user guide, so did some time learning about everything I'm doing wrong. Ended up with about 10 new feature and documentation issues in the repo. A long list of good ideas is an asset, right?
09/08/2022, 2:30 AM
First draft of a prolog dialect? Please tell us more.
09/08/2022, 5:18 AM
First draft of the documentation, not the dialect. The dialect has been around for about 10 years, I think. The draft user guide isn't publicly available, yet. s(CASP) is the dialect. It's a goal-directed execution, stable-model semantics, with constraints over reals. There is an implementation in Ciao, and another in SWI-Prolog.
09/08/2022, 8:19 AM
It's funny that I have a sense for most of what you just said there. What does "goal-directed execution" mean in this context?
09/08/2022, 8:24 PM
You would need to read the papers to be sure. Look for Arias and Gupta c. 2012, of interested. My understanding is that typical ASP only works with programs that can be reduced to a finite set of propositions. Goal-directed execution does not require grounding, so you can do it with answer set programs that have infinite structures like lists, trees, etc., you consult only relevant rules (I think), the returned set includes only relevant terms, and it can be structured as a tree-shaped justification without much additional overhead. It may also have something to do with its ability to reason in the presence of certain kinds of loops, but I'm not sure if goal-direction actually matters, there, or if all ASP suspend can do that.