[ https://issues.apache.org/jira/browse/TINKERPOP-1232?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15260704#comment-15260704 ]
ASF GitHub Bot commented on TINKERPOP-1232: ------------------------------------------- Github user okram commented on the pull request: https://github.com/apache/incubator-tinkerpop/pull/296#issuecomment-215185511 A changed "is a" to "provides". Regarding naming, there are two classes: `gremlin-jython.py` (which is all JVM-based) and `gremlin-python.py` (which is all `String` construction based). Thus,we DO have a distinction in naming. I would suspect any JVM-based language is automagically using the JVM model -- e.g. Gremlin-Clojure, Gremlin-Scala, ?Gremlin-Rhino? :(, Gremlin-Jython, Gremlin-JRuby, Gremlin-Groovy... > 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, 3.2.0-incubating > Reporter: Marko A. Rodriguez > Assignee: 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)