SWI Prolog has possibly the most loudly passive-aggressive debugger I've ever seen

The rest of the REPL is just about as passive-aggressive, but not quite as loud.

no, I don't know why you can dynamically assert facts but not rules.

It kind of defeats the whole point of having a REPL at all.

This kind of silliness is why Prolog doesn't quite cut it for interactive exploratory programming.

That was just to test this somewhat baffling line:


I don't know in what system this paragraph is true, but it's manifestly false of SWI Prolog. Negation by failure works fine; the line that's supposed to have no definition, returns results.

This bizarreness is just the sort of thing you find when you read 1980s or early-90s logic programming papers.



Maybe the point is that the negation by failure part fails if you run it in *parallel*, which is what most of 80s Prolog / database research was about.

Sign in to participate in the conversation

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!