Groovy is an "agile dynamic language for the Java Virtual Machine", with Java inspired syntax and capabilities but with additional dynamic features "inspired by languages like Python, Ruby and Smalltalk". Groovy has a Rails inspired web framework called Grails and aims to be the "JVM's defacto dynamic language", but faces stiff competition from both JRuby and Jython.
So if Groovy is a JVM language, what is it doing on .NET and the Dynamic Language Runtime?
Groovy DLR is the brainchild of Gavin Grover. His website says:
He talks about the project in his latest blog entry:
I've just put the source code for beta-04 of Groovy-DLR 1.0 online, with some improvements, including evaluating code in separate files, and in-place comment lex-definitions. Time for a brief roadmap...The roadmap then continues with a discussion of features that Gavin intends to add to Groovy. They don't seem to be specific to Groovy DLR, and in fact at the end of the blog entry he says:
One last thing...
Oh yes, I almost forgot to mention, I'm not doing any of this in C#. I'm switching languages, back to the JVM, back to the (J)Groovy AST, to SCALA.
The resulting code will be called Groovier. It'll be Apache 2.0 licensed to encourage the (J)Groovy developers to copy it for bundling with Groovy. Groovier will be to Scala and the GrAST what the (J)Groovy Language is to Java and the JVM. Groovy is getting groovier and Groovier.
Although it isn't entirely clear it looks like Groovy DLR is still-born (a dead-end, deceased) and will see no future development unless someone else picks it up. Shame.
One comment buried in the middle of the entry is interesting:
Indentation for block structure in Python is a stroke of genius and has already influenced languages like Haskell and F#. Nice to see it spreading further.