I agree with your general assessment that Prolog displays many domains well . In my opinion, even more than most other languages.
To give one of the few examples where this is bad:
The prologue is clearly bad with the number of number crunches , as it is understood at present. By this I mean many, many largely meaningless calculations on floating point numbers, accumulating errors in ways that no one can really understand or process.
This is an area in which implementations cannot compete with because this is happening today, since all these calculations impose too much overhead on how Prologβs reasons relate to the terms, and also because the muck of these calculations is usually disgusting in the logical programming community, where the focus is on correctness and convienence for users, and Other number formats, such as rational numbers , are usually chosen, if at all possible.
However , I think that this will become an important event in the future, as soon as the extreme shortcomings of floating numbers become quite widely understood and the best formats (example: Unums , etc.) become widely known and accessible, Prolog can become more and more important. tool in this area.
In his book The End of Mistake, John Gustafson gives a wonderful analogy, which I often think of:
Many decades ago, it took 30 seconds to print a page. When printers get better, it still takes 30 seconds to print a page. We did not spend all the technological advances to print 5,000 low-quality pages in 30 seconds, but improved the quality of the pages thousands of times.
I think that the crunch of a number will eventually go in one direction: use the increasingly available computing power to improve the quality of the results, not the quantity.