News for hackers. Stuff that matters.
Re:Asynchrony Is Not Concurrency by sdbrady on Saturday July 19, 2025 @01:45PM (#44617617)
I'm not sure what you mean by "statements" in Prolog as it's not a term the language defines. If you're referring to clauses, it's not true that execution is unordered: the Prolog interpreter attempts to unify a goal with clauses from the knowledge base in the order they appear. This ordering is semantically significant for control flow.

If instead you're referring to goals within the body of a clause, this is also incorrect. Goals are evaluated strictly left-to-right, and each must succeed before the next is attempted. This evaluation order is likewise required and observable, especially in the presence of side effects.

Re:Asynchrony Is Not Concurrency by alfiedotwtf on Saturday July 19, 2025 @03:27PM (#44618532)
> the Prolog interpreter attempts to unify a goal with clauses from the knowledge base in the order they appear.

I was under the impression that when plugging holes during unification, that these statements/clauses could happen in any order just as you would like solving a crossword puzzle