On Thu, Jan 22, 2009 at 12:04 PM, John Rose <john.r...@sun.com> wrote: > On Jan 22, 2009, at 1:14 AM, Rémi Forax wrote: > > In that case, you don't need '#', Dynamic."setcar!"(aCons, aValue) > > is not ambiguous. It will work with all qualified access to field and > > method. > > That's what we did in Groovy; it works well there. Java needs to be a > little more formal, I think, and make a clear distinction between string > literals and identifiers.
Interesting, I'm not sure I really understand why Java would need to be "more formal", and in what way using # would make things more formal. I've come to be used to the Groovy way of doing things (but of course I'm biased), and I quite like this idea (yours!!!) to have "quoted identifiers". Currently, in Groovy, the most advertised one is when using single or double quotes, but actually, Groovy allows different syntaxes: System.'out'.println "hello" System."out".println "hello" System./out/.println "hello" System.'''out'''.println "hello" System."""out""".println "hello" Basically, all String literal forms are allowed. And we also allow these ones: System.(out).println "hello" System.{out}.println "hello" Which means we can also use some expressions inside like: System.('o' + 'u' + 't').println "hello" Of interest as well is that when the String literal is a GString, you can interpolate variables! def var = 'out' System."${var}".println "hello" System."""${var}""".println "hello" System./${var}/.println "hello" We obviously don't need all these forms, but since String and GStrings are allowed as quoted identifiers, all these forms are possible. I quite liked the idea of String quoted identifiers, as they really allow any kind of identifier name to be used, pretty cleanly IMHO, and I feel the sharp sign is a bit odd in that context. But it's perhaps just a matter of taste ;-) -- Guillaume Laforge Groovy Project Manager Head of Groovy Development at SpringSource http://www.springsource.com/g2one _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev