"Datomic is a distributed database and implementation of Datalog.". Datomic seems to be quite succesful [2].
Related to datomic, I'm trying to learn Datascript these days ("An immutable in-memory database and Datalog query engine in Clojure and ClojureScript.") [3].
1: https://en.wikipedia.org/wiki/Datalog
I like the honest words of Serge Abiteboul (co-author of Foundations of Databases http://webdam.inria.fr/Alice/) on this topic:
This is back to the advantages of “declarative programming”. The first scam was Prolog: The language is not really declarative. The second scam was Datalog: It is declarative, but there is not much you can do with it.
Datalog is simple and beautiful – Horn clauses. We theory guys had a ball with it. There were beautiful results to obtain even at the cost of further simplifications (e.g., monadic to be able to decide containment). But the scam is that if you want to do anything serious beyond your stupid positive first-order queries, you need more.
There was no fix that I know of for Prolog. There were fixes for Datalog. Extend the language. And this was done during the last 30 years
(http://abiteboul.blogspot.com/2012/08/datalog-revival-for-da...)
The language is not fully declarative. It's something like 90% declarative, but that is not enough to satisfy the purists, who demand 100% purity, or else!
... or else they will stick to their C++'s and their Javas and SQLs, that are, oh, about 0.01% declarative. Because that makes sense, right? If you can't have a perfectly, purely declarative language, throw out the baby with the bathwater and go back to your purely imperative languages.
That kind of criticism has never made any sense and it doesn't make sense now.
>> But the scam is that if you want to do anything serious beyond your stupid positive first-order queries, you need more.
You can't do anything serious with Datalog? Sure you can- you can do machine learning with Datalog:
The author spent decades on Datalog and when he says Datalog he talks about the core Datalog not even Datalog¬, he is just stating that the core Datalog is a wonderful seed for building actual applications by extending it.
Stock brokering system in New Zealand https://dtai.cs.kuleuven.be/CHR/files/Elston_SecuritEase.pdf
For those who are interested, I think old manuals (and software) can be found on archive.org.
“Most people probably have used SICStus Prolog without knowing it,” says Mats Carlsson, its lead developer. “One of our customers runs a flight booking system on SICStus which handles nearly a third of all airline tickets in the world.”
https://www.sics.se/projects/sicstus-prolog-leading-prolog-t...
A custom-made Prolog interpeter written in C, Small Prolog, was famously used in the Windows NT network configuration:
https://web.archive.org/web/20040603192757/research.microsof...
Back in the '80s and early '90s, there was a huge spike of Prolog adoption in industry, coinciding with the Fifth Generation Computer project [1]. I thought there was some data showing this clearly on the TIOBE language index, but I had a look just now and I couldn't find anything.
In any case, that was the time of rule-based expert systems and Prolog was often the language of choice for those. Anecdotal accounts in the Prolog community have long held that there are still many large-scale systems left over from that time, that were written in Prolog and in typical industry fashion have not been changed since. Having worked in the financial industry, that still runs COBOL and JCL on mainframes, I am prepared to believe this is totally the case. Some examples are listed here (sourced from an "AI expert" in 1993):
http://www.drdobbs.com/parallel/the-practical-application-of...
_______________
[1] A Japanese Ministry of International Trade and Industry project that aimed to do to the computer industry what Japanese companies had done to the car and consumer electronics industries:
https://en.wikipedia.org/wiki/Fifth_generation_computer
Their choice of technology for the next-generation computer was a parallel machine that would run a Prolog-like logic programming language natively. This was inevitably supersedd by general-purpose architectures, so it tanked, taking Prolog with it. Before that, however, Prolog received a lot of attention by industry and government in the US, who were afraid that the Japanese would once more take the lead in a new technology.
I've read a few related books from the time and they're a bit like a parallel world's history, where Prolog is the most important language for new programmers to learn and logic programming machines are about to take over the world.
Oh what cruel irony of fate, considering what soon followed.
I wonder if Prolog is strictly necessary these days, even for uses cases in its niche, that is, logic programming. It seems one can achieve the same functionality as Prolog with an internal DSL built on top of a more mainstream language.