Bernhard Scholz

Results 168 comments of Bernhard Scholz

I have provided the fix so that aggregates are rewritten as well. The example would be rewritten to: ``` type Cell = [ row: number, column: number ] .decl cell_size(cell:...

The problem is that we don't have a simple aggregate (although it looks like a simple aggregate). The transformed Datalog code is, ``` .type Cell = [row:number, column:number] .decl cell_size(cell:Cell,...

You could introduce a helper relation that reflects the computations inside the count sub-clause. That might be the easiest way to solve your problem.

Wonderful! I will look after subsumption. I have started with it (rail diagrams etc.).

The original program produces the following program after high-level optimisations: ``` .decl Yan(U:number, V:number, W:number, X:number) .decl gvN(U:number, V:number, W:number, X:number, Y:number) .decl Zad(U:number, V:number) .decl xXI(U:number) .decl usX(U:number) .decl...

The RAM programs of the relevant queries look as follows: ``` QUERY IF (((+disconnected7 = ∅) AND (NOT (usX = ∅))) AND (NOT (Yan = ∅))) FOR t0 IN usX...

I wanted to remark that we would need a new class of transformations to delay the execution of some arithmetic operations (e.g., `a/b`) since they are not well-defined for all...

Well, it is not so simple. It is a question related to eager vs. lazy. For example, ``` (defun endless-loop (endless-loop)) (defun foo(a b) a) (foo 1 (endless-loop)) ``` would...

Yes, but you think in Java semantics where you have a strict execution order (e.g. first A(x) followed by B(x)). Datalog/Logic does not define the order for conjunctive terms, e.g.,...

This is my current understanding of the problem. I like this a lot! This may keep some research students busy for a while :-) ...