|
|
|
|
|
by efferifick
1875 days ago
|
|
Checkout differential datalog. Looks super interesting: https://github.com/vmware/differential-datalog But I've only played with souffle, which I am not sure where it lands in this taxonomy. I think it lands on the high temporal locality but compared to differential datalog, the biggest difference in my opinion is the souffle solves problems as a batch (i.e., all the inputs are known at command issue time) while differential datalog may receive inputs at runtime. There's also incA: which I think competes with differential datalog. https://github.com/szabta89/IncA So, how I see Datalog (which is a subset of prolog) falling into this taxonomy: Datalog (batch-processing) would fall under structured/high-temporal locality/internally consistent. Datalog (incremental) would fall on structured/low-temporal locality/internally consistent. Looking a little closer on what is defined as "consistent" here, incremental Datalog might not be "consistent" because it might return an "incorrect" or "unavailable" computation for a past input if you "update" or modify the input. But if one restricts the subset of Differential Datalog to follow functional semantics, then that would be consistent. Not really super knowledgable about this projects beyond playing with them and reading some papers on Datalog/Souffle. |
|