No branch yet, but I think I will be sending the PR today.

On Mon, Mar 15, 2021 at 9:33 PM Joshua Shinavier <[email protected]> wrote:

> Is there a branch we can take a look at before the PR is ready?
>
> Josh
>
> On Fri, Mar 12, 2021 at 5:42 AM Stephen Mallette <[email protected]>
> wrote:
>
> > I've been working on forming a pull request for this task. I don't think
> IP
> > Clearance is necessary as I originally did because the contribution is
> > really just an ANTLR4 grammar file with some tests to validate things.
> > Therefore, it's not a big body of independent code as I'd perhaps
> initially
> > envisioned. Compared to gremlint, this addition is pretty simple and
> > straightforward. I've created this issue in JIRA with some additional
> notes
> > on what to expect in this initial body of work:
> >
> > https://issues.apache.org/jira/browse/TINKERPOP-2533
> >
> >
> >
> > On Mon, Feb 8, 2021 at 10:06 AM Stephen Mallette <[email protected]>
> > wrote:
> >
> > > Just wanted to leave an update on this thread. It was nice to see some
> > > support for it. I've not had time to focus on the task itself so sorry
> > > there hasn't been much movement, but I hope to see it on track soon. I
> > > thought to update the thread after I came across yet another nice usage
> > for
> > > it. I've long wanted to unify our test framework (i.e. deprecate the
> JVM
> > > process suite in favor of the GLV test suite). I was experimenting with
> > > what that might look like on Friday and hit a circular dependency which
> > > constantly trips things up where gremlin-test wants to depend on
> > > gremlin-groovy (for ScriptEngine support) but gremlin-groovy depends on
> > > gremlin-test and tinkergraph with <test> scope already. I think the
> > > introduction of gremlin-script would let gremlin-test build the
> Traversal
> > > object from a Gremlin string and thus avoid that circular relationship.
> > >
> > > On Fri, Jan 8, 2021 at 2:43 AM pieter gmail <[email protected]>
> > > wrote:
> > >
> > >> +1
> > >>
> > >> I have often thought the language specification should be a project
> > >> separate from the implementations, and done in a formal but plain
> > >> English format similar to OMG or IETF specifications.
> > >>
> > >> I suspect Sqlg's code base would have been fastly different if it had
> > >> evolved from a grammer instead of an api.
> > >>
> > >> Cheers
> > >> Pieter
> > >>
> > >> On Thu, 2020-12-24 at 14:41 -0500, Stephen Mallette wrote:
> > >> > As a project, over the years, we've often been asked the question as
> > >> > to why
> > >> > Gremlin doesn't have an ANTLR style grammar. There have been varying
> > >> > answers over the years to explain the reasoning but in recent years
> > >> > I've
> > >> > started to see where our dependence on Java for driving Gremlin
> > >> > design has
> > >> > not translated well as we have expanded Gremlin into other
> > >> > programming
> > >> > ecosystems. Using Java has often allowed idioms of that language to
> > >> > leak
> > >> > into Gremlin itself which introduces friction when implemented
> > >> > outside of
> > >> > the JVM. I think that there is some advantage to designing Gremlin
> > >> > more
> > >> > with just graphs/usage in mind and then determining how that design
> > >> > choice
> > >> > looks in each programming language.
> > >> >
> > >> > I think that using an ANTLR grammar to drive that design work for
> > >> > Gremlin
> > >> > makes a lot of sense in this context. We would effectively have
> > >> > something
> > >> > like a gremlin-script which would become the new language archetype.
> > >> > New
> > >> > steps, language changes, etc. would be discussed in its context and
> > >> > then
> > >> > implemented in the grammar and later in each programming language we
> > >> > support in the style a developer would expect. An interesting upside
> > >> > of
> > >> > this approach is that we can implement gremlin-script in the
> > >> > ScriptEngine
> > >> > and replace GremlinGroovyScriptEngine which would help us strengthen
> > >> > our
> > >> > security story in Gremlin Server. Groovy processing would just be a
> > >> > fallback to Gremlin scripts that could not be processed by the AST.
> > >> > In fact
> > >> > users who didn't need Groovy could simply not install it at all and
> > >> > thus
> > >> > boast a much more secure system.
> > >> >
> > >> > I think that inclusion of a grammar in our project is an exciting
> new
> > >> > direction for us to take and will help in a variety of areas beyond
> > >> > those
> > >> > I've already related.
> > >> >
> > >> > If we like this direction, Amazon Neptune already maintains such a
> > >> > grammar
> > >> > and would be willing to contribute it to the project to live in open
> > >> > source. The contribution would go through the same IP Clearance
> > >> > process
> > >> > gremlint is going through since it was developed outside of
> > >> > TinkerPop. I'd
> > >> > be happy to guide that process through if we draw to consensus here.
> > >>
> > >>
> > >>
> >
>

Reply via email to