differential-datalog
differential-datalog copied to clipboard
DDlog is a programming language for incremental computation. It is well suited for writing programs that continuously update their output in response to input changes. A DDlog programmer does not writ...
For relations that are both [distinct](https://github.com/vmware/differential-datalog/blob/master/rust/template/differential_datalog/src/program/worker.rs#L654-L659) and [output](https://github.com/vmware/differential-datalog/blob/master/rust/template/differential_datalog/src/program/worker.rs#L701-L704) they'll be aggregated twice, first at the distinct/threshold total and again at the consolidation. This can save non-trivial amounts of time (over...
D3log has compile errors on Windows, which makes it really annoying to try and work on the whole of ddlog since it errors out constantly Errors ```rust error[E0433]: failed to...
Left joins are currently implemented using antijoins. Differential dataflow provides a [better way](https://github.com/frankmcsherry/differential-dataflow/issues/121).
The following binds `s` twice to different elements of the tuple inside the `match`: ``` function foo(a: string, b: string): string { match ((a, b)) { (s, s) -> s...
We currently don't allow any of the following: ``` for ((k,v) in map) ``` ``` (var x, var y) = FlatMap(expr) ``` ``` |(x,y)| x+y ```
Tuple enum variants and tuple structs would be nice for scenarios where the inner type doesn't need an extra description, such as ```prolog typedef Id = Id(usize) typedef IdKind =...
@mbudiu-vmw , @blp, @Kixiron , your feedback on this RFC would be appreciated. We would like to support programs that start multiple instances of the same or different DDlog programs...
Some initial thoughts > 1. How will the debugging tool work? (i.e., high-level workflow?) The complete functionality will go something like this: - Compile the DDlog program with debugging hooks...
The default `Ord` implementation for `Intern` relies on pointer comparison and is therefore non-deterministic across DDlog runs. This is necessary to speedup sorting inside DD. We still want DDlog outputs...