More emails from Marko. Yes!

2019-04-23 Thread Marko Rodriguez
Hi, The parallel Josh/Marko/Pieter thread got me thinking… So, given ComplexType Iterator siblings(String label) Iterator children(String label) …lets see how both structure and processor providers can influence each other within the TP4 VM. Lets take JanusGraph as the example

Re: What makes 'graph traversals' and 'relational joins' the same?

2019-04-23 Thread Marko Rodriguez
Hi, I think we are very close to something useable for TP4 structure/. Solving this problem elegantly will open the flood gates on tp4/ development. —— I still don’t grock your comeFrom().goto() stuff. I don’t get the benefit of having two instructions for “pointer chasing” instead of one. Le

[Article] Pull vs. Push-Based Loop Fusion in Query Engines

2019-04-23 Thread Marko Rodriguez
Hello, I just read this article: Push vs. Pull-Based Loop Fusion in Query Engines https://arxiv.org/abs/1610.09166 It is a really good read if you are interested in TP4. Here are some notes I jotted down: 1. Pull-based engines are inefficient

Re: What makes 'graph traversals' and 'relational joins' the same?

2019-04-23 Thread Joshua Shinavier
On Tue, Apr 23, 2019 at 5:14 AM Marko Rodriguez wrote: > Hey Josh, > > This gets to the notion I presented in “The Fabled GMachine.” > http://rredux.com/the-fabled-gmachine.html < > http://rredux.com/the-fabled-gmachine.html> (first paragraph of > “Structures, Processes, and Languages” se

TP4 Processors now support both push- and pull-based semantics.

2019-04-23 Thread Marko Rodriguez
Hi, Stephen and Bryn were looking over my RxJava implementation the other day and Bryn, with his British accent, was like [I paraphrase]: “Whoa dawg! Bro should like totally not be blocking to fill an iterator. Gnar gnar for surezies.” Prior to now, Processor implemented Iterator, wher

Re: What makes 'graph traversals' and 'relational joins' the same?

2019-04-23 Thread Marko Rodriguez
Hey Josh, This gets to the notion I presented in “The Fabled GMachine.” http://rredux.com/the-fabled-gmachine.html (first paragraph of “Structures, Processes, and Languages” section) All that exists are memory addresses that contain either:

Re: [DISCUSS] The Two Protocols of TP4

2019-04-23 Thread Marko Rodriguez
Whoa! — are you saying that we should write an ANTLR parser that compiles Gremlin-XXX into Bytecode directly? Thus, for every Gremlin language variant, we will have an ANTLR parser. Marko. http://rredux.com > On Apr 23, 2019, at 5:01 AM, Jorge Bay Gondra > wrote: > >

Re: [DISCUSS] The Two Protocols of TP4

2019-04-23 Thread Jorge Bay Gondra
Hi, Language recognition engines will give us a set of tokens, usually in some sort of tree but the result can be thought of nested collections, for example: The following string "g.V().values('name')" could be parsed into something like [["g"], ["V"], ["values", "name"]]. Then, we would have to

Re: [DISCUSS] The Two Protocols of TP4

2019-04-23 Thread Marko Rodriguez
Hi Jorge, > Instead of supporting a ScriptEngine or enable providers to implement one, > TP4 could be a good opportunity to ditch script engines while continue > supporting gremlin-groovy string literals using language recognition > engines like ANTLR. Huh…….. Can you explain how you think of usi

Re: [DISCUSS] The Two Protocols of TP4

2019-04-23 Thread Jorge Bay Gondra
Hi, I'm still trying to catch up with TP4 topics. I agree that we can reuse bytecode to submit gremlin string literals, like [[submit, [ex:script, gremlin-groovy, g.V.out.name]]] Instead of supporting a ScriptEngine or enable providers to implement one, TP4 could be a good opportunity to ditch sc