OK, I spent some more time mucking around with Scala.
Here are my results: I built a minimal Mass Spring physics simulation. I tried using some of the functional aspects of Scala (although the applications are a bit strained).

The mesh is built and interconnected with a recursive function. A recursive function creates a quad tree of mass points, then a second function recurses over that tree and interconnects the mass points with springs. I reimplemented StandardGame in scala (the code is nearly identical).
I think the main advantage of scala over java is support for anonymous functions and closures.
You decide: Which looks better?
Java:
game.runInGLThread(
new Callable {
public void run() {
view.setLocalTranslation(position)
}
}
)
Scala:
game.runInGLThread( ()=>{
view.setLocalTranslation(position)
})
Other nice features of Scala:
Type Inference:
Instead of
StandardGame game = new StandardGame("Test")
I can write
val game = new StandardGame("Test")
Scala figures out the variable type on its own.
Actor library: I haven't had time to play with this yet, but it seems to be really cool. AFAIK, actors can pass asynchronous messages. It is possible to run each actor in its own thread, or use some kind of event queue.
http://www.scala-lang.org/docu/files/haller07actorsunify.pdfUnfortunately, Scala's integration into eclipse is not yet perfect. I had some weird error messages and compiler crashes. Also, many functions of Java eclipse like "go to declaration" are not yet available in the scala plugin.
But all in all, coding in scala is a nice experience. Scala has a feeling to it that is similar to ruby (which is a good thing in my opinion):
("Scala" :: "is" :: "the" :: "shit" ::Nil).map(word => Console.println(word+ "!"))
A zip of the Mass Spring code:
http://gonzo.uni-weimar.de/~scheffl2/jme/MassSpring_Scala_JME_Example.zipHere's a small animation of the Mass Spring thing in action:

(Yes, the frame rate is abysmal. Too lazy to optimize... Also, the physics engine loops about ten times per frame. This is necessary because I use explicit euler integration, which is very unstable)