Marko A. Rodriguez created TINKERPOP-1232: ---------------------------------------------
Summary: Write a tutorial demonstrating the 3 ways to write a Gremlin language variant. Key: TINKERPOP-1232 URL: https://issues.apache.org/jira/browse/TINKERPOP-1232 Project: TinkerPop Issue Type: Improvement Components: documentation Affects Versions: 3.1.1-incubating Reporter: Marko A. Rodriguez Talking with [~rustyrazorblade] about collaborating on a Gremlin tutorial for language designers. Here is what we came up with. We will use Python as the host language and demonstrate 3 ways to create Gremlin-Python. * Using Jython: With Jython you have direct access to the JVM and thus can call {{GraphTraversal}} methods directly. We can expose some Python sugar here and there to show why its good to have a language specific variant. See Gremlin-Scala for inspiration. * Using JNI: With Python, we have a {{PythonTraversal}} Python class. That class then uses Java Gateway to interact (via proxy) with {{GraphTraversal}}. This was done in the past as an experiment with R using rJava. * Using String: With Python, we have a {{PythonTraversal}} Python class where {{out("knows")}} simply appends {{"out(\"knows\")"}} to a string builder. The result can then be a String sent to a {{RemoteConnection}} for evaluation. These three models are the three ways in which any language can embed Gremlin. -- This message was sent by Atlassian JIRA (v6.3.4#6332)