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

Follow friends and discover new ones. Publish anything you want: links, pictures, text, video. This server is run by the main developers of the Mastodon project. Everyone is welcome as long as you follow our code of conduct!