3 ms·
Would love to hear more options in that bottom left box with differential dataflow et al, because for me that's where all the really interesting work is happeni
by thom 6y ago
Would love to hear more options in that bottom left box with differential dataflow et al, because for me that's where all the really interesting work is happening.
- PaulHoule 6y agoI think differential dataflow might have some application to the less structured domain and that makes it interesting.
- efferifick 6y agoCheckout differential datalog. Looks super interesting: https://github.com/vmware/differential-datalog 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 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.