Jeremy Rayner on java and other stuff.

All | AudioDrama | Chatter | Fun | Groovy | Java | Life

Some more Groovy notes
Posted on 17 Nov 2004
Here are some more notes from GC1 (Groovy Conference no.1), some of them might be inaccurate, subsequently changed or just plain wrong, but I might as well share what notes I did take...

Ideas for the specification

whitespace?
whitespace is significant, but it is significant as it applies to 'no dumb expression statement (NDES)' rule

macros?
macros are going to be implemented under the covers, but may not be exposed to user in first syntax spec, indeed 'while' might even be implemented as a macro under the covers...

builders?
builders have turned into lovely things :-) builders are now intended to be included within the EBNF this seems to have been achieved by changing the words around :-)

with (MyBuilder) { myPanel { myThing }}
or something

parens?
parens are optional, but again before you leave the planet... only on simple statements, not on expressions

escaping nested closures?
escaping nested closures involved break / return keywords break without label would break out of tightest closure break with label would treat closure just like while statement break (+ same with continue) return would always return from the method (that the closure was called from?) not sure I remember discussions about breaking with a value..?

I have published jstrachan's scribblings here

here are a few of my favourite things...

'with' keyword

with myFoo.bar.mooky { wibble = 12; wobble = 13}
equiv to...
myFoo.bar.mooky.wibble = 12; myFoo.bar.mooky.wobble=13;
and reused for builder syntax
with myFoo { bar { mooky {new Weeble()}}}
(syntax probably not quite like that)

'?.' operator

foo?.bar
equiv to
(foo != null) ? foo.bar : null
the question mark indicates that foo is questionable, i.e. it could be null, it could be any type etc... (i.e. no compile time errors if property bar doesn't exist on foo)

Anyway, just gives you an idea of some of the topics under discussion, none of it is set in stone. Look forward to comments :-)

17 Nov 2004 |

First Groovy Conference
Posted on 16 Nov 2004
I've just got back from a very interesting two day conference held to discuss both the Groovy language and JSR 241 which is aiming to standardize the language.

jez, pmuellr, jstrachan, jrose, rob, guillaume

James spent the first morning outlining his original vision for Groovy and the direction in which he'd like to take it forward. ( mp3, powerpoint)

James Strachan Groovy is trying to provide a high level language (like Ruby, Python or Dylan) that maps cleanly to Java bytecode. It needs to works with Java objects, and the root of all the object trees is java.lang.Object. The syntax will be Java friendly, but doesn't have to be backwards compatible. Groovy will sit on top of J2SE

After lunch I walked everyone through the story so far, from the conception of Groovy back in Aug 2003, up till the present day. (powerpoint)

Guillaume then took us through the user feedback we collected, including the main issues of the moment (powerpoint) which appear to be optionals, documentation, visibility, scoping, debugging, class loading, speed and security.

We then dicussed the roadmap for the Groovy JSR, particularly which key deliverables are necessary to reach a community release of Groovy.

Key Deliverables for Groovy JSR Community Release

  • Specification
    • A formal grammar (using similar to EBNF)
    • GLS - semantic rules expressed as a diff of the Java Language Specification
    • Limited references to groovy.* interfaces
  • Reference Implementation
  • Test Compatiblity Kit
    • Test cases following the GLS chapter by chapter
    • A subset of the JCK:Java 'language' tests or similar (e.g. Jacks)

one of the discussions

We have so much material from the two days (I recorded 15 hours of audio), it's going to take a while for all the details to surface.

16 Nov 2004 |

 

 
November 2004
SunMonTueWedThuFriSat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Prev | Today | Next

rss:subscribe (All)



What I'm reading
my feed aggregator ->box

My websites
London Java Meetups
Programming Projects
Elite in Java
megg
Blogmento
Jez's Photos
Fantasy Stock Market
Cool Saxophonist
Doctor Who Audios
Pisces Audios

Other Blogs
Mike Cannon-Brookes
James Strachan
Joe Walnes
Sam Dalton
Simon Brown
Cameron Purdy
Mike Roberts
Erik C. Thauvin
John Martin
Manfred Riem

B5 d++ t++ k s+ u- f
i+ o+ x-- e+ l- c--

powered by blogmento