https://github.com/tinkerpop/gremlin/blob/gremlin_scala/src/main/scala/package.scala
Glad you like it! Definitely the most comprehensive Scala reference.
> Here is what I would like to see:
> 1. Using implicit conversions to "boost" graph, vertex, and edge classes
> with respective helper methods to make pipeline construction more natural.
> See, for example:
> https://github.com/tinkerpop/gremlin/blob/master/src/main/groovy/com/tinkerpop/gremlin/loaders/TransformPipeLoader.groovy
> Note how you can do v.outE, v.inE.
> Note how you can do g.V
> Note how you can do g.v(1)
> etc.
Should be doable by creating a wrapper class around the Java class
with the new methods and then providing an implicit conversion (also
known as Pimp my Library). I will push some initial wrappers to
gremlin_scala.
> 2. Make use of currying for those pipes that take both standard arguments
> and anonymous function arguments to get the nice syntax (see next example).
Yep currying is the way to accomplish that. I'll also push some of these.
> 2. We should think of a single TestSuite that all JVM languages will be able
> to utilize. This way, we don't repeat the same test cases for each language,
> but instead, can simply pass in, perhaps:
> BaseTest.ensureLooping1("g.v(1).outE.loop(1){it.loops < 2}.name", "groovy")
> BaseTest.ensureLooping1("g.v(1) outE loop(1)((loops:Int,object:Any) => loops
> < 2)).name", "scala")
> ...
> ..
> .
> Perhaps a TestSuite based on JSR 223.
That might be tricky since each language will have slightly different
syntax in certain areas. But if we can find a way to easily test a new
language impl without re-writing all of the tests each time, that
would be very valuable.
We can flesh these (and their unit tests) out more over time.