Comment by sirwhinesalot

Comment by sirwhinesalot 12 hours ago

0 replies

Your comment is very fair, indeed perhaps the "way it is taught" is a major problem. Me, personally, I was quite happy to later find out that the "you just write the rules" declarative promise is true, just with caveats, i.e., you have to restrict yourself to a subset of what could otherwise be expressed.

That might seem like an annoying limitation, but to me it is not. Most problems fit well within the bounds, and you get to reap the benefits.

>> There's more ways to execute Prolog than DFS so that you don't get stuck in loops. Obviously there'll always be infinite proof branches because Church-Turing. I'm not sure you fully appreciate that?

It doesn't have to do with Church-Turing. The issue is with DFS specifically which can get stuck in an unproductive search branch. This is mitigated by Mercury with termination checks and mode determinism, and entirely solved by Curry through an execution semantics that guarantees fair search (only way to not terminate is if there is no solution).

If you can execute Prolog in a different manner then I'm happy that's the case but I find it hard to believe that's still Prolog. How would the IO come out in the same order?

>> But if you like Mercury then you could possibly help with its development, which I understand has slowed down for lack of interest, which is a big shame.

Sadly I lack the skillset...

>> I prefer Prolog because it's more mature, and its implementations more feature-rich

My preference for the semantics of the far less popular logic programming languages likely clouds my judgements towards Prolog more than I'd like to admit.