Archive for the ‘Groovy’ Category

Multilingual Graph Traversals

Thursday, December 8th, 2011

OK the real title is: JVM Language Implementations. 😉 I like mine better.

From the webpage:

Gremlin is a style of graph traversing that can be hosted in any number of languages. The benefit of this is that users can make use of the programming language they are most comfortable with and still be able to evaluate Gremlin-style traversals. This model is different than, lets say, using SQL in Java where the query is evaluated by passing a string representation of the query to the SQL engine. On the contrary, with native Gremlin support for other JVM languages, there is no string passing. Instead, simple method chaining in Gremlin’s fluent style. However, the drawback of this model is that for each JVM language, there are syntactic variations that must be accounted for.

The examples below demonstrate the same traversal in Groovy, Scala, and Java, respectively.

Seeing is believing.

The Path-o-Logical Gremlin

Saturday, April 16th, 2011

The Path-o-Logical Gremlin

Slides from Marko Rodriguez presented at: The 2nd International Workshop on Graph Data Management (GDM’11) Hannover, Germany April 16, 2011.

State of Gremlin 0.9.

Very good introduction to Gremlin.

Groovy

Monday, March 14th, 2011

Groovy

I am particularly interested in Groovy’s support for Domain-Specific Languages.

It occurs to me that providing users with a domain-specific language is very close to issues that surround the design of interfaces for users.

That is you don’t write a “domain-specific language” and then expect others to use it. Well, you could but uptake might be iffy.

Rather the development of a “domain-specific language” is done with subject matter experts and their views are incorporated into the language.

Sounds like that might be an interesting approach to authoring topic maps in some contexts.

From the website:

  • is an agile and dynamic language for the Java Virtual Machine
  • builds upon the strengths of Java but has additional power features inspired by languages like Python, Ruby and Smalltalk
  • makes modern programming features available to Java developers with almost-zero learning curve
  • supports Domain-Specific Languages and other compact syntax so your code becomes easy to read and maintain
  • makes writing shell and build scripts easy with its powerful processing primitives, OO abilities and an Ant DSL
  • increases developer productivity by reducing scaffolding code when developing web, GUI, database or console applications
  • simplifies testing by supporting unit testing and mocking out-of-the-box
  • seamlessly integrates with all existing Java classes and libraries
  • compiles straight to Java bytecode so you can use it anywhere you can use Java

Questions:

  1. What areas of library activity already have Domain-Specific Languages, albeit not in executable computer syntaxes?
  2. Which ones do you think would benefit from the creation of an executable Domain-Specific Language?
  3. How would you use topic maps to document such a Domain-Specific Language?
  4. How would your topic map record changing interpretations over time for apparently constant terms?