Earlier quoted context omitted.
Run in backwards, so they say, but not really. Most things you'll write can't run backwards. You have to write them in a special way for that to be possible, and even then what it means is that you can do a depth first search to find the value. There are some useful extensions like clpfd and asp but really if what you're doing is solving a constraint programming problem, you're much better of with OR-tools or MiniZin…
I don't know, most things I've written in Prolog 'runs backwards'. Doesn't seem special to me, things like cut and whatnot that might interfere do. I kind of feel that clpfd, clpz and so on are just libraries, in what way do you consider them extensions to the language? For me it's a neat way to model problems, and when I have I've commonly learned something new about the problem domain. Performance might not be grea…
Non trivial Prolog programs which only use pure predicates and do not use cut are sparse. Yet those are also the only circumstances in which things like clpfd will work without special consideration.