In my very incomplete understanding, the main difference between datalog
and core.logic is that datalog is set-oriented and core.logic is
tuple-oriented. Also datalog is designed to join and filter on external
datasources, while in core.logic, fresh vars (i.e. join points ??) also can
be created in
You are right. I am referring to the querying function, not datomic on the
whole.
I have my own understanding about the differences but I was interested in
hearing others. Please don't feel pressured to answer my question. I'm
trying to compile understanding akin to stackoverflow, where as lon
First of all, stop saying 'on datomic'. Datomic as a Database, witch in its
Peer library has a implmentation of Datalog. This implmentation of Datalog
has basicly nothing to do with the rest of datomic, it can be used as a
query language for data from all sources, it just comes with the Datomic
Can you elaborate on the zebra puzzle? What particular aspect is required?
What would need to be implemented to get it to work on datomic?
On Sunday, December 9, 2012 5:48:55 AM UTC-5, Nick Zbinden wrote:
>
> You have a misunderstanding.
>
> core.logic and datomic datalog are not the same thing.
You have a misunderstanding.
core.logic and datomic datalog are not the same thing.
core.logic is a turing complet logic engine, datomic datalog is only a
querying subpart of this. You can not solve the zebra problem with datomic
datalog, its impossible.
Think of datomic datalog as if it would
I understand both core.logic and datomic offer a query system. While there
are clear interface differences, and the systems are continuing to evolve
so the answer will change over time, however, I don't have a good first
order approximation understanding of the capabilities or performance
diffe