This document is the report of our discussion during the second GroovyOne meeting.
You can even see a few pictures of the event that were posted to Flickr: tagged as jsr241.


The main discussion was around name resolution and scoping rules.
The general idea which lead our discussions was to try to find rules which were as close as possible to Java, yet still allowing powerful and expressive features.

John Wilson contributed a thourough write-up of the decisions taken.

On resolution and shadowing

Changes to the Meta-Object Protocol with an improved MetaClass

Differences between Script and Class

Multi methods

More on multimethods

Other discussion topics not decided or postponed for 2.0

Coercion of interfaces with 1 method to a closure

This would be particularly interesting for frameworks like Spring using a lot of anonymous inner classes implementing some single method interfaces to behave similarly like closures.

    ThreadPool tp = ... Runnable { ... }){ ... } as Runnable) { ... }


Brainstorming code snippets for use module support

XPath / XML

Some ideas on some brainstorming on XPath native support where GPath doesn't fit.


    def x = "hello"
    // can only access via the vanilla name 'println()' which is kinda global

Possible improvements to the MetaClass not yet designed

To be discussed for Groovy 1.0

Funny quotes during the meeting