> "I think Prolog really shines as an embedded query engine[...] It's perfect for declarative configuration, very easy to write powerful queries once you wrap your head around it."
Can you explain more, or give any examples?
VoidTools' Everything gives me a fast search over all files on my disk, it's some carefully optimised low level code, and I can search with wildcards or regex. Even if it supported it, I wouldn't want to change `cat*.jpg` to `findall(file(F), (file(F), name(F, FName), substring(FName, _, _, _, "cat"), append(_, ".jpg", FName)), Files)`.
That's horrible so it's probably not at all what you're thinking of; on the other hand I'm endlessly pleased with `?- apropos(string).` in SWI Prolog. What kind of things are you thinking of where it could/does shine?