<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-11869</id>
	<title>Nabble - groovy - jsr</title>
	<updated>2008-04-25T11:21:20Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/groovy---jsr-f11869.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/groovy---jsr-f11869.html" />
	<subtitle type="html"></subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-16902987</id>
	<title>Groovy 1.5.6 is out!</title>
	<published>2008-04-25T11:21:20Z</published>
	<updated>2008-04-25T11:21:20Z</updated>
	<author>
		<name>glaforge</name>
	</author>
	<content type="html">Hi all,
&lt;br&gt;&lt;br&gt;G2One and the Groovy development team is pleased to announce the
&lt;br&gt;release of Groovy 1.5.6, a bug fix release for the stable Groovy 1.5.x
&lt;br&gt;branch.
&lt;br&gt;&lt;br&gt;A regression introduced in 1.5.5 was fixed, and 35 bugs have been
&lt;br&gt;resolved (generics, MOP, and joint compiler issues, better line
&lt;br&gt;information for IDE support, etc)
&lt;br&gt;&lt;br&gt;As usual, you can download the latest Groovy dustribution here:
&lt;br&gt;&lt;a href=&quot;http://groovy.codehaus.org/Download&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groovy.codehaus.org/Download&lt;/a&gt;&lt;br&gt;&lt;br&gt;And read the change log to know all the details there:
&lt;br&gt;&lt;a href=&quot;http://jira.codehaus.org/browse/GROOVY?report=com.atlassian.jira.plugin.system.project:changelog-panel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jira.codehaus.org/browse/GROOVY?report=com.atlassian.jira.plugin.system.project:changelog-panel&lt;/a&gt;&lt;br&gt;&lt;br&gt;Enjoy!
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Guillaume Laforge
&lt;br&gt;Groovy Project Manager
&lt;br&gt;G2One, Inc. Vice-President Technology
&lt;br&gt;&lt;a href=&quot;http://www.g2one.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.g2one.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Groovy-1.5.6-is-out%21-tp16902987p16902987.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-16515713</id>
	<title>Fwd: final Groovy JSR?</title>
	<published>2008-04-05T10:10:29Z</published>
	<updated>2008-04-05T10:10:29Z</updated>
	<author>
		<name>glaforge</name>
	</author>
	<content type="html">Wasn't delivered.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------- Forwarded message ----------
&lt;br&gt;From: Bill Shannon &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=16515713&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bill.shannon@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Date: Sat, Apr 5, 2008 at 12:40 AM
&lt;br&gt;Subject: Re: final Groovy JSR?
&lt;br&gt;To: Guillaume Laforge &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=16515713&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;glaforge@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Cc: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=16515713&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jsr-241-comments@...&lt;/a&gt;, Groovy JSR &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=16515713&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jsr@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;Guillaume Laforge wrote:
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;For example, do you expect people to write libraries using Groovy,
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;which they would distribute as jar files?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Right.
&lt;br&gt;&amp;gt; This has always been possible (as long as you have the Groovy runtime
&lt;br&gt;&amp;gt; on your classpath).
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp;But what if the library is compiled by Foo's Groovy compiler and my
&lt;br&gt;&amp;nbsp;program using the library is compiled by Bar's Groovy compiler?
&lt;br&gt;&lt;br&gt;&amp;nbsp;You have to decide whether this is important and/or likely. &amp;nbsp;I agree
&lt;br&gt;&amp;nbsp;you can probably ignore this for the first version.
&lt;br&gt;&lt;br&gt;&amp;nbsp;Will this get any easier in Java SE 7 with the new dynamic language
&lt;br&gt;&amp;nbsp;bytecode?
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Guillaume Laforge
&lt;br&gt;Groovy Project Manager
&lt;br&gt;G2One, Inc. Vice-President Technology
&lt;br&gt;&lt;a href=&quot;http://www.g2one.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.g2one.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-final-Groovy-JSR--tp16230936p16515713.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-16515710</id>
	<title>Fwd: final Groovy JSR?</title>
	<published>2008-04-05T10:10:13Z</published>
	<updated>2008-04-05T10:10:13Z</updated>
	<author>
		<name>glaforge</name>
	</author>
	<content type="html">Wasn't delivered.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------- Forwarded message ----------
&lt;br&gt;From: Bill Shannon &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=16515710&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bill.shannon@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Date: Fri, Apr 4, 2008 at 11:59 PM
&lt;br&gt;Subject: Re: final Groovy JSR?
&lt;br&gt;To: Guillaume Laforge &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=16515710&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;glaforge@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Cc: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=16515710&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jsr-241-comments@...&lt;/a&gt;, Groovy JSR &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=16515710&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jsr@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;Guillaume Laforge wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Sat, Mar 22, 2008 at 8:24 PM, Bill Shannon &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=16515710&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bill.shannon@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; [...]
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;You need a spec that's sufficient for someone else to implement
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;Groovy support without reference to your code. &amp;nbsp;I don't know that
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;much about Groovy, but you might want to split the spec into a
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;language/compiler portion and a runtime portion (assuming runtime
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;support beyond what's in Java SE is needed).
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; What do you mean by language/compiler portion, and runtime portion exactly?
&lt;br&gt;&amp;gt; I just want to be sure I understood correctly.
&lt;br&gt;&amp;gt; For the language part, we need to explain the semantics of the
&lt;br&gt;&amp;gt; language, its grammar, etc.
&lt;br&gt;&amp;gt; For the runtime part, you mean things like the libraries? ie. a
&lt;br&gt;&amp;gt; closure class, a GString class, etc.
&lt;br&gt;&amp;gt; Is that what you meant?
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&amp;nbsp;Yes, exactly.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; Back on the level of integration mentioned above, and on this
&lt;br&gt;&amp;gt; portability / interoperability aspect, Groovy mandates a seamless
&lt;br&gt;&amp;gt; integration with Java. But does it mean we'd also mandate a perfect
&lt;br&gt;&amp;gt; interoperability with other Groovy implementations?
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp;I think it would be better if you did, but it's up to you to decide.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; The fact Groovy is a dynamic language, with a MOP, a double dispatch
&lt;br&gt;&amp;gt; system, means that we rely on some proprietary APIs for generating
&lt;br&gt;&amp;gt; bytecode, for handling method calls, doing some clever call site
&lt;br&gt;&amp;gt; caching techniques, etc.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; If we'd choose to totally specify these aspects, it'd mean that we
&lt;br&gt;&amp;gt; couldn't extend Groovy or improve its performance by introducing other
&lt;br&gt;&amp;gt; improvement techniques or that we could evolve the underlying code
&lt;br&gt;&amp;gt; generation classes.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Is it okay if we dont specify these to avoid restraining further
&lt;br&gt;&amp;gt; development, perhaps at the cost of making two compiled Groovy classes
&lt;br&gt;&amp;gt; incompatible if compiled with two different compilers?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Obviously, it's a problem Java doesn't have since it's a statically
&lt;br&gt;&amp;gt; compiled language.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&amp;nbsp;You're allowed to make that choice. &amp;nbsp;It's up to your expert group to
&lt;br&gt;&amp;nbsp;decide whether that's a good choice. &amp;nbsp;Personally, I think this might
&lt;br&gt;&amp;nbsp;be acceptable for a first release, but long term it will limit
&lt;br&gt;&amp;nbsp;acceptance of Groovy. &amp;nbsp;But you should work through the scenarios for
&lt;br&gt;&amp;nbsp;how you expect people to use Groovy to see if it will be an issue for
&lt;br&gt;&amp;nbsp;you. &amp;nbsp;For example, do you expect people to write libraries using Groovy,
&lt;br&gt;&amp;nbsp;which they would distribute as jar files?
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;In addition to the actual tests in the test suite, you get to decide
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;what the rules are for running your test suite. &amp;nbsp;Do people have to
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;run the binaries in your test suite? &amp;nbsp;Are they allowed to recompile
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;your test suite with any arbitrary compiler? &amp;nbsp;Can they modify the tests
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;in your test suite? &amp;nbsp;Are they allowed to extend the Groovy language or
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;Groovy APIs to add their own value-added, non-standard features? &amp;nbsp;What
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;exactly is considered &amp;quot;passing&amp;quot; your test suite? &amp;nbsp;If someone questions
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;whether tests in your test suite are correct, how do they interact with
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;you to get a fix?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; And where these rules should be explained? In the TCK itself?
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&amp;nbsp;We include them in the TCK User's Guide.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;We have a set of rules we use for all Sun TCKs, and we can give you a
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;template you can start with for these compatibility test suite rules.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'd be interested in seeing these rules.
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp;Let me figure out how to get them to you.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;Of course, we also have an (open source) test suite harness, but you're
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;free to use whatever harness you want. &amp;nbsp;The major advantage of using
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;our harness is that it makes it easier to integrate your TCK with a
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;Java platform TCK, if your JSR were to be included as part of a Java
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;platform specification. &amp;nbsp;That may not be an issue for you.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Have you got something in mind here? :-) (ie. integrating Groovy in the JDK)
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&amp;nbsp;No, I didn't have anything specific in mind. &amp;nbsp;This has been an issue
&lt;br&gt;&amp;nbsp;for a few other JSRs, but I don't expect it to be an issues for you.
&lt;br&gt;&lt;br&gt;&amp;nbsp;We're very interested in having Groovy work well with GlassFish, but
&lt;br&gt;&amp;nbsp;I don't think we'll be proposing to include it in Java EE or Java SE
&lt;br&gt;&amp;nbsp;anytime soon. &amp;nbsp;:-)
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; I haven't looked yet at the OpenJDK project.
&lt;br&gt;&amp;gt; Is the test harness available in the OpenJDK project?
&lt;br&gt;&amp;gt; Is there any place explaining how this test harness is working?
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp;&lt;a href=&quot;https://jtharness.dev.java.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://jtharness.dev.java.net/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Guillaume Laforge
&lt;br&gt;Groovy Project Manager
&lt;br&gt;G2One, Inc. Vice-President Technology
&lt;br&gt;&lt;a href=&quot;http://www.g2one.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.g2one.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-final-Groovy-JSR--tp16230936p16515710.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-16506942</id>
	<title>Re: final Groovy JSR?</title>
	<published>2008-04-04T15:33:42Z</published>
	<updated>2008-04-04T15:33:42Z</updated>
	<author>
		<name>glaforge</name>
	</author>
	<content type="html">On Fri, Apr 4, 2008 at 11:59 PM, Bill Shannon &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=16506942&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bill.shannon@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; [...]
&lt;br&gt;&amp;gt; &amp;gt; Back on the level of integration mentioned above, and on this
&lt;br&gt;&amp;gt; &amp;gt; portability / interoperability aspect, Groovy mandates a seamless
&lt;br&gt;&amp;gt; &amp;gt; integration with Java. But does it mean we'd also mandate a perfect
&lt;br&gt;&amp;gt; &amp;gt; interoperability with other Groovy implementations?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;I think it would be better if you did, but it's up to you to decide.
&lt;br&gt;&lt;br&gt;Yes, for sure, conceptually speaking, this would be desired.
&lt;br&gt;For Java, this is simpler as a call to a method is directly encoded in
&lt;br&gt;the bytecode.
&lt;br&gt;No intermediary layer of indirection.
&lt;br&gt;It then just depends on the runtime part (JDK classes, third party
&lt;br&gt;libraries, etc)
&lt;br&gt;But for a dynamic language, in the bytecode you'll find some calls to
&lt;br&gt;utility classes handling the double dispatch.
&lt;br&gt;Some of them are public APIs (which will be part of the JSR), but
&lt;br&gt;others may be present that are specific to each implementation.
&lt;br&gt;So we'll have to think deeper as to what we really want to make portable or not.
&lt;br&gt;Tricky issue :-)
&lt;br&gt;&lt;br&gt;&amp;gt; [...]
&lt;br&gt;&amp;gt; &amp;nbsp;You're allowed to make that choice. &amp;nbsp;It's up to your expert group to
&lt;br&gt;&amp;gt; &amp;nbsp;decide whether that's a good choice. &amp;nbsp;Personally, I think this might
&lt;br&gt;&amp;gt; &amp;nbsp;be acceptable for a first release, but long term it will limit
&lt;br&gt;&amp;gt; &amp;nbsp;acceptance of Groovy. &amp;nbsp;But you should work through the scenarios for
&lt;br&gt;&amp;gt; &amp;nbsp;how you expect people to use Groovy to see if it will be an issue for
&lt;br&gt;&amp;gt; &amp;nbsp;you. &amp;nbsp;For example, do you expect people to write libraries using Groovy,
&lt;br&gt;&amp;gt; &amp;nbsp;which they would distribute as jar files?
&lt;br&gt;&lt;br&gt;Right.
&lt;br&gt;This has always been possible (as long as you have the Groovy runtime
&lt;br&gt;on your classpath).
&lt;br&gt;We can seamlessly integrate with Java, or any other alternative
&lt;br&gt;language for the JVM.
&lt;br&gt;But the problem comes when we have to be compatible between different
&lt;br&gt;implementations of Groovy.
&lt;br&gt;At the basic object level, things are just fine, but it's when you get
&lt;br&gt;into metaprogramming techniques that this may be more problematic to
&lt;br&gt;achieve that goal.
&lt;br&gt;We'll see if it's doable or not, but I suspect we won't go as far in
&lt;br&gt;the first version of the spec.
&lt;br&gt;&lt;br&gt;&amp;gt; [...]
&lt;br&gt;&amp;gt; &amp;nbsp;We include them in the TCK User's Guide.
&lt;br&gt;&amp;gt; [...]
&lt;br&gt;&amp;gt; &amp;nbsp;Let me figure out how to get them to you.
&lt;br&gt;&amp;gt; [...]
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://jtharness.dev.java.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://jtharness.dev.java.net/&lt;/a&gt;&lt;br&gt;&lt;br&gt;Great, thanks a lot for the link.
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;gt; Have you got something in mind here? :-) (ie. integrating Groovy in the
&lt;br&gt;&amp;gt; JDK)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;No, I didn't have anything specific in mind. &amp;nbsp;This has been an issue
&lt;br&gt;&amp;gt; &amp;nbsp;for a few other JSRs, but I don't expect it to be an issues for you.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;We're very interested in having Groovy work well with GlassFish, but
&lt;br&gt;&amp;gt; &amp;nbsp;I don't think we'll be proposing to include it in Java EE or Java SE
&lt;br&gt;&amp;gt; &amp;nbsp;anytime soon. &amp;nbsp;:-)
&lt;br&gt;&lt;br&gt;Then what's the poing of making a JSR? ;-)))
&lt;br&gt;&lt;br&gt;Thanks again Bill for your explanations, the links, and your fast replies!
&lt;br&gt;This is very much appreciated.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Guillaume Laforge
&lt;br&gt;Groovy Project Manager
&lt;br&gt;G2One, Inc. Vice-President Technology
&lt;br&gt;&lt;a href=&quot;http://www.g2one.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.g2one.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-final-Groovy-JSR--tp16230936p16506942.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-16506151</id>
	<title>Re: final Groovy JSR?</title>
	<published>2008-04-04T14:41:04Z</published>
	<updated>2008-04-04T14:41:04Z</updated>
	<author>
		<name>glaforge</name>
	</author>
	<content type="html">Bonjour Liz,
&lt;br&gt;&lt;br&gt;On Wed, Mar 26, 2008 at 11:37 AM, Liz M Kiener &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=16506151&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Liz@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;Bonjour Guillaume -
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;It has been a while since you took over this JSR and we corresponded last.
&lt;br&gt;&amp;gt; Your next stage for this JSR is the EDR. &amp;nbsp;You should have seen email from me
&lt;br&gt;&amp;gt; regarding any planned stages before JavaOne.
&lt;br&gt;&lt;br&gt;Alright, I saw it.
&lt;br&gt;It'll take me some time to get the EDR finished, and it won't be before JavaOne.
&lt;br&gt;&lt;br&gt;&amp;gt; Will you make it to San Francisco for JavaOne?
&lt;br&gt;&lt;br&gt;Yes.
&lt;br&gt;&lt;br&gt;&amp;gt; The PMO will once again host an EG meeting room.
&lt;br&gt;&lt;br&gt;Yup, I saw that, this is handy.
&lt;br&gt;&lt;br&gt;&amp;gt; I am attaching the EDR presentation for you outlining the deliverables for
&lt;br&gt;&amp;gt; submission to the PMO. &amp;nbsp;You may want to take the opportunity to put an
&lt;br&gt;&amp;gt; update on the Community Update Page of the JSR and send me a schedule update
&lt;br&gt;&amp;gt; for the JSR detail page.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;If you have any questions please contact me.
&lt;br&gt;&lt;br&gt;Merci beaucoup :-)
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Guillaume Laforge
&lt;br&gt;Groovy Project Manager
&lt;br&gt;G2One, Inc. Vice-President Technology
&lt;br&gt;&lt;a href=&quot;http://www.g2one.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.g2one.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-final-Groovy-JSR--tp16230936p16506151.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-16506108</id>
	<title>Re: final Groovy JSR?</title>
	<published>2008-04-04T14:38:18Z</published>
	<updated>2008-04-04T14:38:18Z</updated>
	<author>
		<name>glaforge</name>
	</author>
	<content type="html">Hi Bill,
&lt;br&gt;&lt;br&gt;Thanks a lot for your explanations.
&lt;br&gt;I haven't been able to answer earlier, I'm sorry.
&lt;br&gt;&lt;br&gt;Some comments inline.
&lt;br&gt;&lt;br&gt;On Sat, Mar 22, 2008 at 8:24 PM, Bill Shannon &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=16506108&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bill.shannon@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; [...]
&lt;br&gt;&amp;gt; &amp;nbsp;You need a spec that's sufficient for someone else to implement
&lt;br&gt;&amp;gt; &amp;nbsp;Groovy support without reference to your code. &amp;nbsp;I don't know that
&lt;br&gt;&amp;gt; &amp;nbsp;much about Groovy, but you might want to split the spec into a
&lt;br&gt;&amp;gt; &amp;nbsp;language/compiler portion and a runtime portion (assuming runtime
&lt;br&gt;&amp;gt; &amp;nbsp;support beyond what's in Java SE is needed).
&lt;br&gt;&lt;br&gt;What do you mean by language/compiler portion, and runtime portion exactly?
&lt;br&gt;I just want to be sure I understood correctly.
&lt;br&gt;For the language part, we need to explain the semantics of the
&lt;br&gt;language, its grammar, etc.
&lt;br&gt;For the runtime part, you mean things like the libraries? ie. a
&lt;br&gt;closure class, a GString class, etc.
&lt;br&gt;Is that what you meant?
&lt;br&gt;&lt;br&gt;&amp;gt; Do you want someone
&lt;br&gt;&amp;gt; &amp;nbsp;else to be able to implement a Groovy compiler that generates code
&lt;br&gt;&amp;gt; &amp;nbsp;that works with your runtime? &amp;nbsp;And vice versa? &amp;nbsp;And if the Groovy
&lt;br&gt;&amp;gt; &amp;nbsp;compiler or interpreter needs to be available to applications at
&lt;br&gt;&amp;gt; &amp;nbsp;runtime, how does that work and what level of mix-and-match do you
&lt;br&gt;&amp;gt; &amp;nbsp;want to support?
&lt;br&gt;&lt;br&gt;Okay, it's up to us to decide the level of integration the spec
&lt;br&gt;mandates or not for a language to be considered a valid Groovy
&lt;br&gt;implementation. Furthermore the TCK will help ensure this.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Very precise syntax specifications for a language
&lt;br&gt;&amp;gt; &amp;nbsp;are critical, but you also need to specify the semantics as precisely
&lt;br&gt;&amp;gt; &amp;nbsp;as possible. &amp;nbsp;This kind of specification is different than the
&lt;br&gt;&amp;gt; &amp;nbsp;typical user documentation people produce; rather than describing how
&lt;br&gt;&amp;gt; &amp;nbsp;it *does* work, you have to describe how it *must* work, in sufficient
&lt;br&gt;&amp;gt; &amp;nbsp;detail that someone else implementing your specification will end up
&lt;br&gt;&amp;gt; &amp;nbsp;with behavior the same as yours, without reference to your code or
&lt;br&gt;&amp;gt; &amp;nbsp;(ideally) your implementation. &amp;nbsp;In cases where the specification isn't
&lt;br&gt;&amp;gt; &amp;nbsp;sufficiently complete, we often rely on the behavior of the reference
&lt;br&gt;&amp;gt; &amp;nbsp;implementation to determine what is intended, although independent
&lt;br&gt;&amp;gt; &amp;nbsp;implementors of the specification don't really like it when we do that.
&lt;/div&gt;&lt;br&gt;Ok, that makes perfect sense.
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp;You also need a test suite that tests as much of this as you think
&lt;br&gt;&amp;gt; &amp;nbsp;is necessary to ensure application portability and interoperability.
&lt;br&gt;&lt;br&gt;Back on the level of integration mentioned above, and on this
&lt;br&gt;portability / interoperability aspect, Groovy mandates a seamless
&lt;br&gt;integration with Java. But does it mean we'd also mandate a perfect
&lt;br&gt;interoperability with other Groovy implementations?
&lt;br&gt;&lt;br&gt;The fact Groovy is a dynamic language, with a MOP, a double dispatch
&lt;br&gt;system, means that we rely on some proprietary APIs for generating
&lt;br&gt;bytecode, for handling method calls, doing some clever call site
&lt;br&gt;caching techniques, etc.
&lt;br&gt;&lt;br&gt;If we'd choose to totally specify these aspects, it'd mean that we
&lt;br&gt;couldn't extend Groovy or improve its performance by introducing other
&lt;br&gt;improvement techniques or that we could evolve the underlying code
&lt;br&gt;generation classes.
&lt;br&gt;&lt;br&gt;Is it okay if we dont specify these to avoid restraining further
&lt;br&gt;development, perhaps at the cost of making two compiled Groovy classes
&lt;br&gt;incompatible if compiled with two different compilers?
&lt;br&gt;&lt;br&gt;Obviously, it's a problem Java doesn't have since it's a statically
&lt;br&gt;compiled language.
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp;We all recognize that there is no such thing as a &amp;quot;complete&amp;quot; test suite,
&lt;br&gt;&amp;gt; &amp;nbsp;and a high quality test suite is a lot of work. &amp;nbsp;You get to decide how
&lt;br&gt;&amp;gt; &amp;nbsp;complete the test suite needs to be, and the JCP EC gets to decide
&lt;br&gt;&amp;gt; &amp;nbsp;whether it's &amp;quot;complete enough&amp;quot; when they approve your JSR. &amp;nbsp;The more
&lt;br&gt;&amp;gt; &amp;nbsp;likely it is that there will be independent implementations, the more
&lt;br&gt;&amp;gt; &amp;nbsp;important it is to have a high quality test suite. &amp;nbsp;If you expect
&lt;br&gt;&amp;gt; &amp;nbsp;everyone to use your implementation, you can probably get by with less.
&lt;br&gt;&lt;br&gt;Ok.
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp;In addition to the actual tests in the test suite, you get to decide
&lt;br&gt;&amp;gt; &amp;nbsp;what the rules are for running your test suite. &amp;nbsp;Do people have to
&lt;br&gt;&amp;gt; &amp;nbsp;run the binaries in your test suite? &amp;nbsp;Are they allowed to recompile
&lt;br&gt;&amp;gt; &amp;nbsp;your test suite with any arbitrary compiler? &amp;nbsp;Can they modify the tests
&lt;br&gt;&amp;gt; &amp;nbsp;in your test suite? &amp;nbsp;Are they allowed to extend the Groovy language or
&lt;br&gt;&amp;gt; &amp;nbsp;Groovy APIs to add their own value-added, non-standard features? &amp;nbsp;What
&lt;br&gt;&amp;gt; &amp;nbsp;exactly is considered &amp;quot;passing&amp;quot; your test suite? &amp;nbsp;If someone questions
&lt;br&gt;&amp;gt; &amp;nbsp;whether tests in your test suite are correct, how do they interact with
&lt;br&gt;&amp;gt; &amp;nbsp;you to get a fix?
&lt;br&gt;&lt;br&gt;And where these rules should be explained? In the TCK itself?
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp;We have a set of rules we use for all Sun TCKs, and we can give you a
&lt;br&gt;&amp;gt; &amp;nbsp;template you can start with for these compatibility test suite rules.
&lt;br&gt;&lt;br&gt;I'd be interested in seeing these rules.
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp;In addition to &amp;quot;run rules&amp;quot; and process issues, our TCK rules also
&lt;br&gt;&amp;gt; &amp;nbsp;describe things that we want to be true of any implementation, but for
&lt;br&gt;&amp;gt; &amp;nbsp;which there's no easy way to test. &amp;nbsp;Especially important to us is the
&lt;br&gt;&amp;gt; &amp;nbsp;issue of language extensions, but you get to decide what rules you want
&lt;br&gt;&amp;gt; &amp;nbsp;to enforce for your language.
&lt;br&gt;&lt;br&gt;Ok.
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp;Of course, we also have an (open source) test suite harness, but you're
&lt;br&gt;&amp;gt; &amp;nbsp;free to use whatever harness you want. &amp;nbsp;The major advantage of using
&lt;br&gt;&amp;gt; &amp;nbsp;our harness is that it makes it easier to integrate your TCK with a
&lt;br&gt;&amp;gt; &amp;nbsp;Java platform TCK, if your JSR were to be included as part of a Java
&lt;br&gt;&amp;gt; &amp;nbsp;platform specification. &amp;nbsp;That may not be an issue for you.
&lt;br&gt;&lt;br&gt;Have you got something in mind here? :-) (ie. integrating Groovy in the JDK)
&lt;br&gt;&lt;br&gt;I haven't looked yet at the OpenJDK project.
&lt;br&gt;Is the test harness available in the OpenJDK project?
&lt;br&gt;Is there any place explaining how this test harness is working?
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp;In terms of process, there's lots of information available on jcp.org.
&lt;br&gt;&amp;gt; &amp;nbsp;You should of course produce a Public Draft specification, collect
&lt;br&gt;&amp;gt; &amp;nbsp;comments from the public, incorporate those comments as appropriate,
&lt;br&gt;&amp;gt; &amp;nbsp;produce a Proposed Final Draft specification, and eventually submit
&lt;br&gt;&amp;gt; &amp;nbsp;your JSR for a Final Approval Ballot.
&lt;br&gt;&lt;br&gt;Ok.
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp;I hope that helps. &amp;nbsp;Please feel free to ask if you have any more questions.
&lt;br&gt;&lt;br&gt;I'm sure I'll have many more questions along the way!
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp;I'm looking forward to a final Groovy specification! &amp;nbsp;We're very excited
&lt;br&gt;&amp;gt; &amp;nbsp;about supporting Groovy in GlassFish!
&lt;br&gt;&lt;br&gt;Thanks a lot for those great explanations and these kind words.
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Guillaume Laforge
&lt;br&gt;Groovy Project Manager
&lt;br&gt;G2One, Inc. Vice-President Technology
&lt;br&gt;&lt;a href=&quot;http://www.g2one.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.g2one.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-final-Groovy-JSR--tp16230936p16506108.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-16230936</id>
	<title>Re: final Groovy JSR?</title>
	<published>2008-03-22T06:46:48Z</published>
	<updated>2008-03-22T06:46:48Z</updated>
	<author>
		<name>glaforge</name>
	</author>
	<content type="html">Hello Bill,&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Fri, Mar 21, 2008 at 7:25 PM, Bill Shannon &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=16230936&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bill.shannon@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
I see that the Groovy JSR has been going for about 4 years now,&lt;br&gt;
and the implementation is up to version 1.5.x, but there&amp;#39;s still&lt;br&gt;
no Public Draft or Proposed Final Draft of the spec. &amp;nbsp;When do you&lt;br&gt;
expect to complete the JSR?&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;Very good question. Actually, after a long period of hibernation on the JSR front, we&amp;#39;re resuming work on it in the upcoming months.&lt;br&gt;&lt;br&gt;But we&amp;#39;d be happy to have some guidance to the steps to follow, and details of the key deliverables that are expected to ship with the JSR.&lt;br&gt;
&lt;br&gt;So far, the RI is there, of course, in the shape of Groovy 1.5.4.&lt;br&gt;The TCK is not split from the Groovy test suites, so we&amp;#39;d need to find an easy way for people to reuse it if they want to develop a compatible Groovy language.&lt;br&gt;
On the spec side, we have the language grammar in an EBNF and diagram form, but what is still missing is the writing of the formal specification document, beyond our online documentation or the books we&amp;#39;ve written on the topic.&lt;br&gt;
&lt;br&gt;-- &lt;br&gt;Guillaume Laforge&lt;br&gt;Groovy Project Manager&lt;br&gt;G2One, Inc. Vice-President Technology&lt;br&gt;&lt;a href=&quot;http://www.g2one.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.g2one.com&lt;/a&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-final-Groovy-JSR--tp16230936p16230936.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14373047</id>
	<title>Re: [groovy-dev] Tentative Roadmap</title>
	<published>2007-12-17T01:40:39Z</published>
	<updated>2007-12-17T01:40:39Z</updated>
	<author>
		<name>glaforge</name>
	</author>
	<content type="html">On Dec 17, 2007 10:25 AM, Alexandru Popescu ☀
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=14373047&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;the.mindstorm.mailinglist@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; Firstly I would like to thank Mr.G and Jochen for setting up such a
&lt;br&gt;&amp;gt; detailed roadmap.
&lt;br&gt;&lt;br&gt;You're welcome :-)
&lt;br&gt;&lt;br&gt;&amp;gt; Now, I would like to add my opinion about it (opinion that might not
&lt;br&gt;&amp;gt; match exactly the above plan).
&lt;br&gt;&lt;br&gt;At least, it's not in contradiction with the roadmap!
&lt;br&gt;&lt;br&gt;&amp;gt; I do consider that the Groovy language has become &amp;quot;enough&amp;quot; feature
&lt;br&gt;&amp;gt; rich. IMO, the most important aspects for the future of the language
&lt;br&gt;&amp;gt; are now more in terms of usability. I don't think I can come out with
&lt;br&gt;&amp;gt; a nice proposal as you did, but my suggestion would be that the work
&lt;br&gt;&amp;gt; should focus on the following directions:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 1/ fixing bugs related to the 1.5 major release. This will probably
&lt;br&gt;&amp;gt; result in a couple more minor releases.
&lt;br&gt;&lt;br&gt;Agreed, this is what the 1.5.x releases are for.
&lt;br&gt;&lt;br&gt;&amp;gt; 2/ focus on the performance. As discussed at GDC this mostly means
&lt;br&gt;&amp;gt; rethinking the whole MOP, stabilizing and unifying the MOP, etc. I
&lt;br&gt;&amp;gt; would definitely see the whole energy of the Groovy people going this
&lt;br&gt;&amp;gt; direction only for the next period.
&lt;br&gt;&lt;br&gt;It's going to be a long process I suspect, as various experiments will
&lt;br&gt;have to be done, lots of discussions, a nice general proposal of what
&lt;br&gt;we really want, etc. So it's something that is going to be done in
&lt;br&gt;parallel to the progress we make in 1.x.
&lt;br&gt;&lt;br&gt;&amp;gt; Probably the only &amp;quot;new&amp;quot; feature that I see as belonging to &amp;quot;usability&amp;quot;
&lt;br&gt;&amp;gt; is the multi-assignment, but this is just a nice to have one, so it
&lt;br&gt;&amp;gt; shouldn't focus on it right away (or at least I wouldn't consider it
&lt;br&gt;&amp;gt; as a strict goal for the next immediate period).
&lt;br&gt;&lt;br&gt;I tried to put certain features at certain milestones, but we can
&lt;br&gt;certainly reorder the priorities.
&lt;br&gt;I've put multiple assignments early in the roadmap because we had
&lt;br&gt;promised them in 1.1/1.5, but as they're certainly not critical, we
&lt;br&gt;can postpone them to a latter release, it's not really critical.
&lt;br&gt;&lt;br&gt;In the new features, there are things which should be discussed for
&lt;br&gt;inclusion or not.
&lt;br&gt;For instance, anonymous inner classes, nested classes and co.
&lt;br&gt;Initially, in the early days of Groovy, we didn't want to support them
&lt;br&gt;because we found them ugly, and closures should be used more to fill
&lt;br&gt;in the gap.
&lt;br&gt;So, it's perhaps a debate we should have as to whether the Groovy
&lt;br&gt;users really want them in the language?
&lt;br&gt;&lt;br&gt;Regarding other features, for instance AST Transformations, we can
&lt;br&gt;already do that today, but in a more convoluted way (through the
&lt;br&gt;Groovy classloader), so it's mainly about making this feature easier
&lt;br&gt;to use. And for the concurrency feature, it could even just be an
&lt;br&gt;additional module, instead of bloating Groovy core with yet another
&lt;br&gt;big feature.
&lt;br&gt;&lt;br&gt;&amp;gt; Hope you don't mind expressing my thoughts here,
&lt;br&gt;&lt;br&gt;On the contrary, thanks for sharing your thoughts!
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Guillaume Laforge
&lt;br&gt;Groovy Project Manager
&lt;br&gt;G2One, Inc. Vice-President Technology
&lt;br&gt;&lt;a href=&quot;http://www.g2one.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.g2one.com&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Tentative-Roadmap-tp14368042p14373047.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14368042</id>
	<title>Tentative Roadmap</title>
	<published>2007-12-16T15:50:06Z</published>
	<updated>2007-12-16T15:50:06Z</updated>
	<author>
		<name>glaforge</name>
	</author>
	<content type="html">Dear Groovy developers,&lt;br&gt;&lt;br&gt;Now that we have released 1.5, it is time to think about the future of Groovy, by discussing its roadmap.&lt;br&gt;&lt;br&gt;After some discussions at GDC#4 (&lt;a href=&quot;http://docs.codehaus.org/display/GroovyJSR/GDC4+Discussions&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;
http://docs.codehaus.org/display/GroovyJSR/GDC4+Discussions&lt;/a&gt;), on the lists, and elsewhere, we&amp;#39;ve listed possible improvements and new features.&lt;br&gt;&lt;br&gt;Jochen and myself compiled a tentative roadmap this weekend, taking these ideas into account and trying to lay them out across potential release numbers.
&lt;br&gt;&lt;br&gt;This is a tentative roadmap. &lt;br&gt;Certain features can be discussed, whether we do want them or not.&lt;br&gt;And there&amp;#39;s room for moving features from one to another release.&lt;br&gt;New ideas missing can also be introduced. 
&lt;br&gt;So it&amp;#39;s still pretty open at the moment.&lt;br&gt;&lt;br&gt;Note that the roadmap can change across the course of time according to the progress (or lack thereof) we make on the GEPs (Groovy Extension Proposals).&lt;br&gt;It is not set in stone today, even after our upcoming discussions. The GEPs will drive us through the releases.
&lt;br&gt;It is very important that we try to clearly define what we want to do in the coming releases, and not just commit blindly any cool hacks :-)&lt;br&gt;We need to have crystal clear scope and semantics for all major features.
&lt;br&gt;&lt;br&gt;First of all, the basic idea: instead of one huge release a year with several betas and RCs, it&amp;#39;d be great if we could make more frequent releases (with a few betas and RCs) every two or three months or so, but containing a lower number of major features. So ideally, we could release 
1.6 / 1.x throughout the year, with a bigger 2.0 at then end of next year with a reworked MOP system.&lt;br&gt;&lt;br&gt;There are three main kind of releases:&lt;br&gt;- 1.5.x will provide some patches to the 1.5 final release&lt;br&gt;- 1.6 / 
1.x will introduce a few major features at each release depending on the completeness of the GEPs&lt;br&gt;- and 2.0 will focus on the reworked MetaClass runtime system and will be worked on in parallel to the other 1.x releases.
&lt;br&gt;&lt;br&gt;Ideally, we should try to release 1.5.1 next week, before Christmas, with the current fixes for the Ant builder, the dead lock in the class loader.&lt;br&gt;And probably a 1.5.2 when we find the concurrency issue we have on parallel environments.
&lt;br&gt;&lt;br&gt;Without further ado, here&amp;#39;s the proposed Roadmap.&lt;br&gt;The GEPs will be there for defining the exact scope of the major features by giving some finer-grained details of the content of the upcoming releases.&lt;br&gt;I&amp;#39;ll publish this roadmap on the JSR wiki.
&lt;br&gt;&lt;br&gt;&lt;h1&gt;Groovy Roadmap&lt;/h1&gt;
&lt;h2&gt;Groovy 1.5.1&lt;br&gt;
&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;Bug fix release&lt;/li&gt;&lt;li&gt;Deadlock in GroovyClassLoader&lt;/li&gt;&lt;li&gt;Problem with Ant tasks&lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;Groovy 1.5.2&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;Bug fix release&lt;/li&gt;&lt;li&gt;Concurrency issues (unless it&amp;#39;s fixed in 1.5.1)&lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;Groovy 1.6&lt;br&gt;
&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;Based on JDK 1.5 with Retro* version available for JDK 1.4&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Make sure we can run the unit tests with the retro-weaved jar to ensure compatibility&lt;br&gt;
    &lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Annotation definition in Groovy&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Currently, annotations can&amp;#39;t be defined in Groovy, only used&lt;br&gt;
    &lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Multiple assignment&lt;/li&gt;&lt;ul&gt;&lt;li style=&quot;font-weight: bold;&quot;&gt;GEP&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Define the exact scope of multiple assignment by revisiting the existing GEP page&lt;br&gt;
      &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;
&lt;h2&gt;Groovy 1.7&lt;br&gt;
&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;Upgrade to ASM 3&lt;/li&gt;&lt;ul&gt;&lt;li&gt;if necessary or deemed useful (more efficient bytecode?)&lt;br&gt;
    &lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Groovy incremental compiler&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Especially useful for the Eclipse plugin&lt;br&gt;
  &lt;/li&gt;&lt;/ul&gt;&lt;li&gt;AST transformations&lt;/li&gt;&lt;ul&gt;&lt;li style=&quot;font-weight: bold;&quot;&gt;GEP&lt;/li&gt;&lt;ul&gt;&lt;li&gt;reuse of annotations or not&lt;/li&gt;&lt;li&gt;exact scope of those transformations&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;pluggable AST transformations for advanced DSL or integration cases
&lt;br&gt;
    &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;
&lt;h2&gt;Groovy 1.8&lt;br&gt;
&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;Nested Classes &amp;amp; Anonymous Inner Classes&lt;/li&gt;&lt;ul&gt;&lt;li style=&quot;font-weight: bold;&quot;&gt;GEP&lt;/li&gt;&lt;ul&gt;&lt;li&gt;The exact semantics with relationship to the MOP should be properly defined through a GEP&lt;br&gt;
      &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;
&lt;h2&gt;Groovy 1.9&lt;/h2&gt;

&lt;ul&gt;&lt;li&gt;Upgrade to Antlr 3&lt;/li&gt;&lt;ul&gt;&lt;li&gt;We&amp;#39;ll be able to use the tooling support accompanying Antlr 3&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Concurrency features&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;GEP&lt;/span&gt;&lt;br&gt;
    &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;Define what coverage we&amp;#39;d like to bring&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Rollback the iterator features to properly discuss them first&lt;br&gt;
      &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Work on this theme first as a module, and if deemed right, we can bring it back to groovy-core&lt;br&gt;
  &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;
&lt;h2&gt;Groovy 2.0&lt;br&gt;
&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;New MetaClass system&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Benchmark test suites to track progress of performance across releases&lt;br&gt;
    &lt;/li&gt;&lt;li style=&quot;font-weight: bold;&quot;&gt;GEP&lt;/li&gt;&lt;ul&gt;&lt;li&gt;defining the scope of changes&lt;/li&gt;&lt;li&gt;describing the new system&lt;/li&gt;&lt;li&gt;proposals of a more homogeneous system&lt;br&gt;
      &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;homogenize categories, EMCs, custom metaclasses&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;homogenize the configuration / declaration / convetions&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;have per-thread / scoped EMCs (like categories)&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;
&lt;li&gt;per-module/library metaclasses&lt;br&gt;
      &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;
&lt;br&gt;



&lt;br&gt;&lt;br&gt;-- &lt;br&gt;Guillaume Laforge&lt;br&gt;Groovy Project Manager&lt;br&gt;G2One, Inc. Vice-President Technology&lt;br&gt;&lt;a href=&quot;http://www.g2one.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.g2one.com&lt;/a&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Tentative-Roadmap-tp14368042p14368042.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14239551</id>
	<title>What's new in Groovy 1.5?</title>
	<published>2007-12-09T07:26:27Z</published>
	<updated>2007-12-09T07:26:27Z</updated>
	<author>
		<name>glaforge</name>
	</author>
	<content type="html">Hi all,
&lt;br&gt;&lt;br&gt;After the announcement of the release of Groovy 1.5, as promised in
&lt;br&gt;the release notes, here's a detailed article on what's new in Groovy
&lt;br&gt;1.5.
&lt;br&gt;&lt;br&gt;Read it on InfoQ:
&lt;br&gt;&lt;a href=&quot;http://www.infoq.com/articles/groovy-1.5-new&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.infoq.com/articles/groovy-1.5-new&lt;/a&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Guillaume Laforge
&lt;br&gt;Groovy Project Manager
&lt;br&gt;G2One, Inc. Vice-President Technology
&lt;br&gt;&lt;a href=&quot;http://www.g2one.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.g2one.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/What%27s-new-in-Groovy-1.5--tp14239551p14239551.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-14223180</id>
	<title>Groovy 1.5 is there!</title>
	<published>2007-12-07T15:41:12Z</published>
	<updated>2007-12-07T15:41:12Z</updated>
	<author>
		<name>glaforge</name>
	</author>
	<content type="html">Hi all,
&lt;br&gt;&lt;br&gt;I'm very pleased to announce the release of Groovy 1.5.
&lt;br&gt;&lt;br&gt;You can read the release notes there:
&lt;br&gt;&lt;a href=&quot;http://docs.codehaus.org/display/GROOVY/2007/12/07/Groovy+1.5+released&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.codehaus.org/display/GROOVY/2007/12/07/Groovy+1.5+released&lt;/a&gt;&lt;br&gt;&lt;br&gt;An upcoming article on InfoQ will give you a more in-depth overview of
&lt;br&gt;this new version.
&lt;br&gt;&lt;br&gt;Thanks a lot to everybody: developers, contributors, users.
&lt;br&gt;Without you, Groovy wouldn't be the great dynamic language it is today.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Guillaume Laforge
&lt;br&gt;Groovy Project Manager
&lt;br&gt;G2One, Inc. Vice-President Technology
&lt;br&gt;&lt;a href=&quot;http://www.g2one.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.g2one.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Groovy-1.5-is-there%21-tp14223180p14223180.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-13554357</id>
	<title>Release candidate 2 is available!</title>
	<published>2007-11-02T13:13:20Z</published>
	<updated>2007-11-02T13:13:20Z</updated>
	<author>
		<name>glaforge</name>
	</author>
	<content type="html">Dear all,&lt;br&gt;&lt;br&gt;The Groovy development team and &lt;a href=&quot;http://www.g2one.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;G2One&lt;/a&gt;, the Groovy &amp;amp; Grails company, are happy to announce the new milestone of Groovy: the &lt;span style=&quot;font-weight: bold;&quot;&gt;second release candidate
&lt;/span&gt; is here. Just a few weeks after the first release candidate, this new version focused mainly on bug fixing, ironing out the Swing console with a nice new icon toolbar and the interactive shell, and the XML handling. You can have a closer look at the 
&lt;a href=&quot;http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10242&amp;amp;styleName=Html&amp;amp;version=13792&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;JIRA issues&lt;/a&gt; for more detailed information and you can &lt;a href=&quot;http://groovy.codehaus.org/Download&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;download Groovy 1.1-rc-2
&lt;/a&gt; from the usual place.&lt;br&gt;&lt;br&gt;Apart from these bugs and little improvements, we kept on increasing the performance of Groovy. As an informal benckmark, we measured the time taken by our test suites to run, and for instance, according to the Grails team, the Grails test suites executed about 
&lt;span style=&quot;font-weight: bold;&quot;&gt;40% faster with Groovy 1.1-rc-2 than with Groovy 1.1-rc-1&lt;/span&gt;, of course, depending on your project, your mileage may vary.&lt;br&gt;&lt;br&gt;Please help us making sure Groovy 1.1 is rock-solid by having a run with this new release candidate in your projects, so that we can iron out the latest little problems that may arise. Thanks in advance for your help. Stay tuned for the 
&lt;span style=&quot;font-weight: bold;&quot;&gt;final Groovy 1.1 release in a couple of weeks&lt;/span&gt;!&lt;br&gt;&lt;br&gt;Download: &lt;a href=&quot;http://groovy.codehaus.org/Download&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groovy.codehaus.org/Download&lt;/a&gt;&lt;br&gt;JIRA issues fixed: &lt;a href=&quot;http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10242&amp;amp;styleName=Html&amp;amp;version=13792&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;
http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10242&amp;amp;styleName=Html&amp;amp;version=13792&lt;/a&gt;&lt;br&gt;&lt;br&gt;-- &lt;br&gt;Guillaume Laforge&lt;br&gt;Groovy Project Manager&lt;br&gt;G2One, Inc. Vice-President Technology&lt;br&gt;&lt;a href=&quot;http://www.g2one.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;
http://www.g2one.com&lt;/a&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Release-candidate-2-is-available%21-tp13554357p13554357.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-12812808</id>
	<title>RE: [groovy-user] Groovy 1.1-beta-3 released, RC-1 and 1.1-final around the corner</title>
	<published>2007-09-21T02:25:15Z</published>
	<updated>2007-09-21T02:25:15Z</updated>
	<author>
		<name>Jürgen Hermann</name>
	</author>
	<content type="html">&amp;gt; &amp;nbsp; &amp;nbsp; * The ternary operator can be shortcut to simplify a != null ? a :
&lt;br&gt;&amp;gt; &amp;quot;default value&amp;quot; into a ?: &amp;quot;default value&amp;quot;. We call it the Elvis
&lt;br&gt;&amp;gt; operator -- a beer for those who guess why we've chosen that name.
&lt;br&gt;&lt;br&gt;Was it supposed to be hard to recognize the quiff? :)
&lt;br&gt;&lt;br&gt;Ciao, Jürgen
&lt;br&gt;&lt;br&gt;-- &amp;nbsp;
&lt;br&gt;1&amp;1 Internet AG · Brauerstrasse 48 · D-76135 Karlsruhe
&lt;br&gt;&lt;br&gt;Amtsgericht Montabaur HRB 6484
&lt;br&gt;&lt;br&gt;Vorstand: Henning Ahlert, Ralph Dommermuth, Matthias Ehrlich, Andreas Gauger,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Matthias Greve, Robert Hoffmann, Norbert Lang, Achim Weiss
&lt;br&gt;Aufsichtsratsvorsitzender: Michael Scheeren
&lt;br&gt;&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-grails-user--Groovy-1.1-beta-3-released%2C-RC-1-and-1.1-final-around-the-corner-tp12808162p12812808.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-12808162</id>
	<title>[grails-user] Groovy 1.1-beta-3 released, RC-1 and 1.1-final around the corner</title>
	<published>2007-09-20T17:47:19Z</published>
	<updated>2007-09-20T17:47:19Z</updated>
	<author>
		<name>glaforge</name>
	</author>
	<content type="html">Dear Groovy friends,
&lt;br&gt;&lt;br&gt;I've blogged about the new here:
&lt;br&gt;&lt;a href=&quot;http://glaforge.free.fr/weblog/index.php?itemid=222&amp;catid=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://glaforge.free.fr/weblog/index.php?itemid=222&amp;catid=2&lt;/a&gt;&lt;br&gt;&lt;br&gt;and there:
&lt;br&gt;&lt;a href=&quot;http://docs.codehaus.org/display/GROOVY/2007/09/20/Groovy+1.1-beta-3+released%2C+RC-1+and+1.1-final+around+the+corner&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.codehaus.org/display/GROOVY/2007/09/20/Groovy+1.1-beta-3+released%2C+RC-1+and+1.1-final+around+the+corner&lt;/a&gt;&lt;br&gt;&lt;br&gt;But here it is:
&lt;br&gt;&lt;br&gt;Groovy 1.1-beta-3 is there, paving the way for an RC-1 in the
&lt;br&gt;following weeks, and if all goes well, for 1.1-final in October, right
&lt;br&gt;in time for the Grails eXchange conference that takes place in London.
&lt;br&gt;This conference will also be the opportunity for the Groovy developer
&lt;br&gt;team to meet for the fourth Groovy Developer Conference! With Groovy
&lt;br&gt;1.1 released by then, it'll be time to think about what's going to
&lt;br&gt;happen for the next major version of Groovy.
&lt;br&gt;&lt;br&gt;Before going through the new release, let me recap some of the nice
&lt;br&gt;things that have been happening lately around Groovy:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; * JetBrains released a second milestone to the wonderful Groovy &amp;
&lt;br&gt;Grails IntelliJ IDEA plugin, so be sure to check it out, as you'll
&lt;br&gt;feel at ease developing Groovy with all the bells and whistles of your
&lt;br&gt;beloved IDE. You've never programmed Groovy and Grails with so much
&lt;br&gt;pleasure.
&lt;br&gt;&amp;nbsp; &amp;nbsp; * IBM's ProjectZero team is also helping us improving the Eclipse plugin.
&lt;br&gt;&amp;nbsp; &amp;nbsp; * Sun gave us access to a nice server beast so we can conduct some
&lt;br&gt;high-concurrency load testing on Groovy.
&lt;br&gt;&lt;br&gt;So what's in this release you may wonder? Well, there are a few nice
&lt;br&gt;novelties, but they should be the last ones before 1.1.
&lt;br&gt;&lt;br&gt;First of all, Alex Tkachman, along with Jochen, worked very hard on
&lt;br&gt;improving the performance of Groovy. On some micro-benchmark seen on
&lt;br&gt;the blogosphere, we even got a 100% improvement. Of course, depending
&lt;br&gt;on your usage of Groovy, your mileage may vary, but let me
&lt;br&gt;congratulate Alex for this great achievement.
&lt;br&gt;&lt;br&gt;Now regarding new features:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; * The last mile of Java 5 related feature is included: you can use
&lt;br&gt;and define enums in Groovy.
&lt;br&gt;&amp;nbsp; &amp;nbsp; * The closure and map coercion to interfaces mechanism has been
&lt;br&gt;extended to work on concrete classes too.
&lt;br&gt;&amp;nbsp; &amp;nbsp; * The ternary operator can be shortcut to simplify a != null ? a :
&lt;br&gt;&amp;quot;default value&amp;quot; into a ?: &amp;quot;default value&amp;quot;. We call it the Elvis
&lt;br&gt;operator -- a beer for those who guess why we've chosen that name.
&lt;br&gt;&amp;nbsp; &amp;nbsp; * In the dynamic space, Graeme Rocher has been continuing
&lt;br&gt;enhancing and improving the ExpandoMetaClass and has added some new
&lt;br&gt;methods like methodMissing(), respondsTo() or hasProperty(). Don't
&lt;br&gt;forget to check the documentation and the child pages.
&lt;br&gt;&amp;nbsp; &amp;nbsp; * It is now possible to customize the variable resolving strategy
&lt;br&gt;in closures (not yet documented), so that you can decide whether you
&lt;br&gt;want to the resolution to go to the delegate first or only, to the
&lt;br&gt;closure itself, or to the owner.
&lt;br&gt;&amp;nbsp; &amp;nbsp; * Jason Dillon has been working on improving the good old Groovy
&lt;br&gt;Shell (groovysh). It is still a work-in-progress, so by default, it is
&lt;br&gt;not activated, but you may try it by setting a NEWSHELL environment
&lt;br&gt;variable to a dummy value. Some completion is there thanks to JLine,
&lt;br&gt;ANSI color makes things more friendly on most platforms (Windows being
&lt;br&gt;the exception as always), and the driving idea behind those evolutions
&lt;br&gt;was getting rid of the infamous &amp;quot;go&amp;quot; command.
&lt;br&gt;&amp;nbsp; &amp;nbsp; * Romain Guy, on his side, along with the help of Danno Ferrin and
&lt;br&gt;Andres Almiray. have polished the Groovy Swing Console look'n feel.
&lt;br&gt;&amp;nbsp; &amp;nbsp; * One last nugget, some improvements have been worked on to allow
&lt;br&gt;a better integration between the groovyc and javac Ant task letting
&lt;br&gt;you use the javac Ant task as a sub-element of the groovyc Ant task --
&lt;br&gt;however, for big projects with a lot of classes, it may be pretty
&lt;br&gt;hungry for memory.
&lt;br&gt;&lt;br&gt;With all that, it's time to give the usual links. Apart from those new
&lt;br&gt;features or improvements, we've closed a fair amount of bugs too, if
&lt;br&gt;you want to have a closer look at what we've worked on, you can have a
&lt;br&gt;look at the JIRA issues closed for beta-3.
&lt;br&gt;&lt;br&gt;You can download Groovy at the usual place: Joachim Bauman is updating
&lt;br&gt;the Windows native installer (which also contains Antti Karanta's
&lt;br&gt;native launcher for Windows) and he should make it available in the
&lt;br&gt;following days.
&lt;br&gt;&lt;br&gt;One last closing word: the documentation of the website is available
&lt;br&gt;too, and over those past months, the documentation climbed to about
&lt;br&gt;900 pages worth of PDF export! Even bigger than the fine GinA lady!
&lt;br&gt;&lt;br&gt;Keep Groovying, thanks to all the developers and contributors for
&lt;br&gt;their help, and stay tuned for RC-1 and 1.1 pretty soon!
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Guillaume Laforge
&lt;br&gt;Groovy Project Manager
&lt;br&gt;&lt;a href=&quot;http://glaforge.free.fr/blog/groovy&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://glaforge.free.fr/blog/groovy&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-grails-user--Groovy-1.1-beta-3-released%2C-RC-1-and-1.1-final-around-the-corner-tp12808162p12808162.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-12216405</id>
	<title>how to make new specification request.</title>
	<published>2007-08-18T13:33:42Z</published>
	<updated>2007-08-18T13:33:42Z</updated>
	<author>
		<name>amr_qura</name>
	</author>
	<content type="html">i'm working in web application projects using JSF .
&lt;br&gt;i'm asked from team manager to write &amp;quot;module specification request&amp;quot; for every web module.
&lt;br&gt;&lt;br&gt;can anybody tell me what the content of any specification request document.</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/how-to-make-new-specification-request.-tp12216405p12216405.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11884530</id>
	<title>[groovy-dev] get scripting engine by file extension</title>
	<published>2007-07-30T15:30:05Z</published>
	<updated>2007-07-30T15:30:05Z</updated>
	<author>
		<name>arhan</name>
	</author>
	<content type="html">Hello!&lt;br&gt;&lt;br&gt;I have an application where I use JSR-223 for evaluating the scripts, and I use file extension for identifying the scripting engine that is required to evaluate the script:&lt;br&gt;&lt;br&gt;ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
&lt;br&gt;ScriptEngine engine = scriptEngineManager.getEngineByExtension(&amp;quot;groovy&amp;quot;);&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;With groovy-1.0 it works fine.&lt;br&gt;but with groovy-1.1-beta2 this code throws a following exception:&lt;br&gt;&lt;br&gt;Exception in thread &amp;quot;main&amp;quot; 
java.lang.IncompatibleClassChangeError: Found interface groovy.lang.MetaClass, but class was expected&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.sun.script.groovy.GroovyScriptEngine.&amp;lt;clinit&amp;gt;(GroovyScriptEngine.java:63)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.sun.script.groovy.GroovyScriptEngineFactory.getScriptEngine
(GroovyScriptEngineFactory.java:87)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at javax.script.ScriptEngineManager.getEngineByExtension(ScriptEngineManager.java:275)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at &amp;lt;user code stack trace follows&amp;gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;And in the version 1.0 there really was &amp;quot;public abstract class MetaClass&amp;quot; which is now &amp;quot;public interface MetaClass extends MetaObjectProtocol&amp;quot;
&lt;br&gt;&lt;br&gt;So the question is:&amp;nbsp; is the groovy API not following JSR or the JSR engine implementations is outdated ? :)&lt;br&gt;Can anyone suggest?&lt;br&gt;&lt;br&gt;Thx,&lt;br&gt;-- &lt;br&gt;Anton Arhipov
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-groovy-dev--get-scripting-engine-by-file-extension-tp11884530p11884530.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11455091</id>
	<title>[groovy-dev] Groovy 1.1-beta-2 released!</title>
	<published>2007-07-05T15:36:10Z</published>
	<updated>2007-07-05T15:36:10Z</updated>
	<author>
		<name>glaforge</name>
	</author>
	<content type="html">Dear community,
&lt;br&gt;&lt;br&gt;The Groovy team is pleased to announce the release of Groovy
&lt;br&gt;1.1-beta-2, yet another step on our aggressive roadmap towards the
&lt;br&gt;release of Groovy 1.1 in October.
&lt;br&gt;&lt;br&gt;For this release, I would like especially to highlight two key
&lt;br&gt;contributions to the project:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; * First of all, after we've added Java 5 annotation support in
&lt;br&gt;Groovy 1.1-beta-1, this time, it was generics' turn. Thanks to the
&lt;br&gt;help of some JBoss developers who've integrated Groovy in JBoss Seam,
&lt;br&gt;we've been able to test our support for annotations and generics, and
&lt;br&gt;to make sure we would release a quality milestone to our users. Groovy
&lt;br&gt;is the first alternative dynamic language for the JVM that supports
&lt;br&gt;annotations and generics, so that you can integrate Groovy with any
&lt;br&gt;Enterprise application frameworks like EJB 3 / JPA, JBoss Seam, Google
&lt;br&gt;Guice, Spring, etc.
&lt;br&gt;&amp;nbsp; &amp;nbsp; * Secondly, I'm very happy to report the contribution of JetBrains
&lt;br&gt;to the development of Groovy. While working on the IntelliJ IDEA
&lt;br&gt;plugin for Groovy and Grails, the talentuous JetBrains team provided
&lt;br&gt;us with a joint Java/Groovy compiler! No more nightmare to cleanly
&lt;br&gt;separate Java and Groovy code to avoid cyclic references and tedious
&lt;br&gt;build configuration, you can now use the Groovyc compiler to compile
&lt;br&gt;both Groovy and Java sources in a single step.
&lt;br&gt;&lt;br&gt;Apart from those two great contributions that we have integrated in
&lt;br&gt;the project, we've worked on many other areas since the release of the
&lt;br&gt;first beta:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; * We have ironed out the usage of Java 5 annotations (for instance
&lt;br&gt;annotations for method parameters were missing).
&lt;br&gt;&amp;nbsp; &amp;nbsp; * As I've already mentioned, we've added support for generics in
&lt;br&gt;Groovy, so that the generated bytecode properly includes the
&lt;br&gt;reflection information needed at runtime by various tools such as JPA.
&lt;br&gt;In the area of Java 5 features, static imports were also available in
&lt;br&gt;Groovy in beta-1 to make the code even more concise and readable.
&lt;br&gt;&amp;nbsp; &amp;nbsp; * Still pursuing the symbiotic relationship between the Groovy and
&lt;br&gt;Grails projects, the Grails team has integrated in Groovy its new
&lt;br&gt;ConfigSlurper mechanism to configure your applications more easily
&lt;br&gt;(documentation to come on that feature soon).
&lt;br&gt;&amp;nbsp; &amp;nbsp; * The classical for loop is now back in Groovy after a lot of user requests.
&lt;br&gt;&amp;nbsp; &amp;nbsp; * Named parameters are also now possible on top-level statements,
&lt;br&gt;without parentheses, so that expressive code can be written like in:
&lt;br&gt;move x: 10.centimers, y: 8;centimeters or fund.compareWith bench:
&lt;br&gt;NIKEI, over: 2.months
&lt;br&gt;&lt;br&gt;Apart from that, we also focused on cleaning up the Groovy grammar,
&lt;br&gt;improving the code coverage and the performance of Groovy in highly
&lt;br&gt;concurrent scenarios for paralle machines. Overall, roughly a hundred
&lt;br&gt;bug fixes, enhancements or new features have been integrated in this
&lt;br&gt;new release. On the tooling front, the Eclipse plugin recently
&lt;br&gt;released version 1.0.1, while the progress on the IntelliJ IDEA plugin
&lt;br&gt;has been awesome, you should also check it out.
&lt;br&gt;&lt;br&gt;You can download Groovy 1.1-beta-2 from the download area. You can
&lt;br&gt;find the full release notes in our JIRA bug tracker.
&lt;br&gt;&lt;br&gt;Thanks to all users, contributors and committers for allowing us to
&lt;br&gt;make this great release.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Guillaume Laforge
&lt;br&gt;Groovy Project Manager
&lt;br&gt;&lt;a href=&quot;http://glaforge.free.fr/blog/groovy&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://glaforge.free.fr/blog/groovy&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-groovy-dev--Groovy-1.1-beta-2-released%21-tp11455091p11455091.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-10261585</id>
	<title>[groovy-user] Groovy 1.1-beta-1 released with annotation support</title>
	<published>2007-04-30T16:16:38Z</published>
	<updated>2007-04-30T16:16:38Z</updated>
	<author>
		<name>glaforge</name>
	</author>
	<content type="html">Dear all,&lt;br&gt;&lt;p&gt;
    After &lt;a href=&quot;http://glaforge.free.fr/weblog/index.php?itemid=210&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Groovy
    was awarded the first prize of the JAX conference&lt;/a&gt; in Germany last week for being the
    &lt;b&gt;most innovative and creative project in 2007 in the Java community&lt;/b&gt;,
    we&amp;#39;re pleased to announce the &lt;b&gt;release of Groovy 1.1-beta-1&lt;/b&gt;.
&lt;/p&gt;
&lt;p&gt;
    This release is the first beta release after the
    &lt;a href=&quot;http://glaforge.free.fr/weblog/index.php?itemid=200&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;release of Groovy 1.0&lt;/a&gt;.
    But it&amp;#39;s a very important release as we&amp;#39;ve been working on key features
    putting Groovy clearly as the &lt;b&gt;de facto enterprise scripting solution&lt;/b&gt;.
    Indeed, Groovy is now the first and sole alternative language for the JVM
    that &lt;b&gt;supports Java 5 annotations&lt;/b&gt;.
    Groovy 1.1-beta-1 also supports Java 5 &lt;b&gt;static imports&lt;/b&gt;.
&lt;/p&gt;
&lt;p&gt;
    You can now use Groovy to write your &lt;a href=&quot;http://www.curious-creature.org/2007/03/25/persistence-made-easy-with-groovy-and-jpa/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;EJB 3 / JPA beans&lt;/a&gt;,
    to wire your components with &lt;a href=&quot;http://glaforge.free.fr/weblog/index.php?itemid=208&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Google Guice&lt;/a&gt;,
    to &lt;a href=&quot;http://jroller.com/page/buggybean?entry=using_groovy_spring_and_javaconfig1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mark your services transactional&lt;/a&gt; with Spring&amp;#39;s @Transactional annotation,
    to develop &lt;a href=&quot;http://www.jboss.com/products/seam&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;JBoss Seam&lt;/a&gt; entities,
    or to be able to write unit tests with &lt;a href=&quot;http://groovy.codehaus.org/Using+JUnit+4+with+Groovy&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;JUnit 4&lt;/a&gt;
    or &lt;a href=&quot;http://code.google.com/p/testngroove/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;TestNG&lt;/a&gt;.
    If you want the best and &lt;b&gt;seamless Java integration&lt;/b&gt;,
    and be able to use the latest frameworks around that leverage Java 5 annotations,
    look no further, Groovy is the unique solution to your scripting and dynamic needs.
    Whether you hack a script in your shell, or if you want to implement
    &lt;a href=&quot;http://groovy.codehaus.org/Writing+Domain-Specific+Languages&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Domain-Specific Languages&lt;/a&gt;,
    Groovy has everything you need to make you more productive.
&lt;/p&gt;
&lt;p&gt;
    Of course, this release contains a nice list of bug fixes and improvements,
    making Groovy a very stable and viable platform on its own, or for your integration needs.
    You can find the list of all the &lt;a href=&quot;http://jira.codehaus.org/browse/GROOVY&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bugs and improvements on JIRA&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
    Just to highlight some of the other interesting gems you&amp;#39;ll find in this release,
    note that &lt;a href=&quot;http://groovy.codehaus.org/Groovy+Mocks&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Groovy mocks&lt;/a&gt; now let&amp;#39;s you deal with properties as well,
    you can group list and map elements with a discriminator closure with the groupBy() method from the GDK,
    the use directive now returns the value returned by the closure it is passed,
    and you can add maps together.
    All in all, minor features, but which might come in handy from time to time.
    A more interesting one is probably the &lt;a href=&quot;http://groovy.codehaus.org/Groovy+Mocks&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ExpandoMetaClass&lt;/a&gt;
    from Grails has been brought back to Groovy.
&lt;/p&gt;
&lt;p&gt;
    You can download Groovy from the &lt;a href=&quot;http://groovy.codehaus.org/Download&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;usual location&lt;/a&gt;.
    You&amp;#39;ll be able to download the &lt;a href=&quot;http://dist.groovy.codehaus.org/distributions/groovy-binary-1.1-BETA-1.zip&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;binary distribution&lt;/a&gt;, 
    the &lt;a href=&quot;http://dist.groovy.codehaus.org/distributions/groovy-src-1.1-BETA-1.zip&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;source distribution&lt;/a&gt;,
    and a &lt;a href=&quot;http://dist.groovy.codehaus.org/distributions/groovy-docs-1.1-BETA-1.zip&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;zip of the online documentation&lt;/a&gt;
    (over 500 pages) and the JavaDoc.
&lt;/p&gt;
&lt;p&gt;
    While the core Groovy team was working on the language,
    the &lt;a href=&quot;http://groovy.codehaus.org/Eclipse+Plugin&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Groovy Eclipse Plugin&lt;/a&gt; team has been making awesome progress,
    and the (soon-to-be-released) plugin now sports
    &lt;a href=&quot;http://www.rippleinteractive.com/blog/2007/04/10/1176254940000.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;good code-completion capabilities&lt;/a&gt;.
    But we also have good news for the &lt;a href=&quot;http://www.jetbrains/idea&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;IntelliJ IDEA&lt;/a&gt; lovers,
    JetBrains is working full-steam to provide their own Groovy plugin,
    so stay tuned for additional news in that area.
&lt;/p&gt;
&lt;p&gt;
    A part of the Groovy and Grails team will be present at &lt;a href=&quot;http://sun.com/javaone&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;JavaOne 2007&lt;/a&gt; in San Francisco
    to present the cool things you can do with Groovy, or how Grails reivents Spring / Hibernate development,
    so please come and say hi if you&amp;#39;re around.
    This year, Groovy and Grails will be very well represented,
    there will be
    &lt;a href=&quot;http://www28.cplan.com/cc158/sessions_catalog.jsp?ilc=158-1&amp;amp;ilg=english&amp;amp;isort=&amp;amp;isort_type=&amp;amp;is=yes&amp;amp;icriteria1=+&amp;amp;icriteria2=+&amp;amp;icriteria7=+&amp;amp;icriteria9=&amp;amp;icriteria8=groovy&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;8 Groovy sessions
&lt;/a&gt;
    and &lt;a href=&quot;http://www28.cplan.com/cc158/sessions_catalog.jsp?ilc=158-1&amp;amp;ilg=english&amp;amp;isort=&amp;amp;isort_type=&amp;amp;is=yes&amp;amp;icriteria1=+&amp;amp;icriteria2=+&amp;amp;icriteria7=+&amp;amp;icriteria9=&amp;amp;icriteria8=grails&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;
3 Grails sessions&lt;/a&gt;.
    Overall, twice as much as last year.
&lt;/p&gt;
&lt;p&gt;
    Additionaly, on Monday evening, just before JavaOne, there will be a &lt;span style=&quot;font-weight: bold;&quot;&gt;special GroovyOne community event&lt;/span&gt; from 7pm to 10pm
    at the W Hotel organized by the fine folks from &lt;a href=&quot;http://www.nofluffjuststuff.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;NoFluffJustStuff&lt;/a&gt;
    and the &lt;a href=&quot;http://aboutgroovy.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;AboutGroovy&lt;/a&gt; community site.
    It will be a great opportunity to meet core Groovy and Grails developers, leads and book authors.
    More details to follow.
&lt;/p&gt;
&lt;p&gt;Thanks a lot to everybody involved, and on behalf of the Groovy team, we hope you will enjoy this new release!
&lt;/p&gt;-- &lt;br&gt;&lt;a href=&quot;http://glaforge.free.fr/blog/groovy&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Guillaume Laforge&lt;/a&gt;&lt;br&gt;Groovy Project Manager&lt;br&gt;&lt;br&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-groovy-user--Groovy-1.1-beta-1-released-with-annotation-support-tp10261585p10261585.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-9632679</id>
	<title>Re: Fwd: JavaOne EG Meeting Room</title>
	<published>2007-03-23T05:06:56Z</published>
	<updated>2007-03-23T05:06:56Z</updated>
	<author>
		<name>Jeremy Rayner</name>
	</author>
	<content type="html">&amp;gt; &amp;gt; From: Guillaume Laforge [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=9632679&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;glaforge@...&lt;/a&gt;]
&lt;br&gt;&amp;gt; &amp;gt; Sent: Donnerstag, 22. März 2007 7:57
&lt;br&gt;&amp;gt; &amp;gt; To: Groovy JSR
&lt;br&gt;&amp;gt; &amp;gt; Subject: [groovy-jsr] Fwd: JavaOne EG Meeting Room
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; For those who will be at JavaOne this year (Groovy / Grails developers
&lt;br&gt;&amp;gt; &amp;gt; and JSR EG members), we might have a room to make a quick meeting at
&lt;br&gt;&amp;gt; &amp;gt; the Argent hotel if needs be.
&lt;br&gt;&lt;br&gt;Will there be any conference phone facilities, as I'll be
&lt;br&gt;in the UK that day
&lt;br&gt;&lt;br&gt;Jez.
&lt;br&gt;-- 
&lt;br&gt;Groovy Engineer &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://searchgroovy.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://searchgroovy.org&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://javanicus.com/blog2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://javanicus.com/blog2&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Fwd%3A-JavaOne-EG-Meeting-Room-tp9609365p9632679.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-9632209</id>
	<title>RE: Fwd: JavaOne EG Meeting Room</title>
	<published>2007-03-23T04:35:30Z</published>
	<updated>2007-03-23T04:35:30Z</updated>
	<author>
		<name>Dierk König</name>
	</author>
	<content type="html">I'll be there and happy to meet everybody.
&lt;br&gt;&lt;br&gt;Guillaume, I guess I'm not yet an official member of the JSR expert group.
&lt;br&gt;Would you mind promoting me so? ;-)
&lt;br&gt;&lt;br&gt;cheers
&lt;br&gt;Dierk
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; -----Original Message-----
&lt;br&gt;&amp;gt; From: Guillaume Laforge [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=9632209&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;glaforge@...&lt;/a&gt;]
&lt;br&gt;&amp;gt; Sent: Donnerstag, 22. März 2007 7:57
&lt;br&gt;&amp;gt; To: Groovy JSR
&lt;br&gt;&amp;gt; Subject: [groovy-jsr] Fwd: JavaOne EG Meeting Room
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; For those who will be at JavaOne this year (Groovy / Grails developers
&lt;br&gt;&amp;gt; and JSR EG members), we might have a room to make a quick meeting at
&lt;br&gt;&amp;gt; the Argent hotel if needs be.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------- Forwarded message ----------
&lt;br&gt;&amp;gt; From: Liz M Kiener &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=9632209&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Liz@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Date: Mar 22, 2007 6:36 AM
&lt;br&gt;&amp;gt; Subject: JavaOne EG Meeting Room
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=9632209&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SPECLEADS@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;Hello All -
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;The PMO is pleased to offer you once more this year a room at the
&lt;br&gt;&amp;gt; Argent Hotel for EG meetings during JavaOne. &amp;nbsp;The room will be
&lt;br&gt;&amp;gt; available all week until Fri 11 May on a first come first served
&lt;br&gt;&amp;gt; basis. &amp;nbsp;You can schedule the room by sending me email with date and
&lt;br&gt;&amp;gt; time you would like.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;Kind regards,
&lt;br&gt;&amp;gt; &amp;nbsp;Liz :-)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Guillaume Laforge
&lt;br&gt;&amp;gt; Groovy Project Manager
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://glaforge.free.fr/blog/groovy&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://glaforge.free.fr/blog/groovy&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Fwd%3A-JavaOne-EG-Meeting-Room-tp9609365p9632209.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-9609365</id>
	<title>Fwd: JavaOne EG Meeting Room</title>
	<published>2007-03-22T00:56:31Z</published>
	<updated>2007-03-22T00:56:31Z</updated>
	<author>
		<name>glaforge</name>
	</author>
	<content type="html">For those who will be at JavaOne this year (Groovy / Grails developers
&lt;br&gt;and JSR EG members), we might have a room to make a quick meeting at
&lt;br&gt;the Argent hotel if needs be.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------- Forwarded message ----------
&lt;br&gt;From: Liz M Kiener &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=9609365&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Liz@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Date: Mar 22, 2007 6:36 AM
&lt;br&gt;Subject: JavaOne EG Meeting Room
&lt;br&gt;To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=9609365&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;SPECLEADS@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;Hello All -
&lt;br&gt;&lt;br&gt;&amp;nbsp;The PMO is pleased to offer you once more this year a room at the
&lt;br&gt;Argent Hotel for EG meetings during JavaOne. &amp;nbsp;The room will be
&lt;br&gt;available all week until Fri 11 May on a first come first served
&lt;br&gt;basis. &amp;nbsp;You can schedule the room by sending me email with date and
&lt;br&gt;time you would like.
&lt;br&gt;&lt;br&gt;&amp;nbsp;Kind regards,
&lt;br&gt;&amp;nbsp;Liz :-)
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Guillaume Laforge
&lt;br&gt;Groovy Project Manager
&lt;br&gt;&lt;a href=&quot;http://glaforge.free.fr/blog/groovy&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://glaforge.free.fr/blog/groovy&lt;/a&gt;&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[Liz.vcf]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;begin:vcard
&lt;br&gt;fn:Liz M Kiener
&lt;br&gt;n:Kiener;Liz M
&lt;br&gt;org:;JCP Program Management Office
&lt;br&gt;adr:USCA 15-108;;4150 Network Circle;Santa Clara;CA;95054;USA
&lt;br&gt;email;internet:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=9609365&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Liz@...&lt;/a&gt;
&lt;br&gt;title:Program Manager
&lt;br&gt;tel;work:+1 510.550.4353
&lt;br&gt;tel;fax:+1 510.550.4353/+1 408.276.7129
&lt;br&gt;url:http://jcp.org
&lt;br&gt;version:2.1
&lt;br&gt;end:vcard
&lt;br&gt;&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;br /&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Fwd%3A-JavaOne-EG-Meeting-Room-tp9609365p9609365.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-8939722</id>
	<title>Re: One easy way to improve performance a lot</title>
	<published>2007-02-12T23:32:24Z</published>
	<updated>2007-02-12T23:32:24Z</updated>
	<author>
		<name>Daniel.Sun</name>
	</author>
	<content type="html">Yeah, now I'm using JSR223 Groovy-Engine which can cache scripts, so I don't care whether Groovy will cache scripts or not :)
&lt;br&gt;Thanks for your response :)
&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Jochen Theodorou wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;Daniel.Sun schrieb:
&lt;br&gt;&amp;gt; Hi all,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I found more than 90% time is spent in compiling. 
&lt;br&gt;&amp;gt; So I think caching these latest compiled groovy class will improve
&lt;br&gt;&amp;gt; performance a lot.
&lt;br&gt;&amp;gt; The cache pool should be provided with gdk and instance of the pool should
&lt;br&gt;&amp;gt; be store in a Thread which is started when we run our application.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; pseudocode as follows:
&lt;br&gt;&amp;gt; find the requested class from cache.
&lt;br&gt;&amp;gt; if (the class is cached) {
&lt;br&gt;&amp;gt; &amp;nbsp; if (modifying timestamp of groovy script file &amp;nbsp;&amp;gt; &amp;nbsp;modifying timestamp of
&lt;br&gt;&amp;gt; class's groovy script file &amp;nbsp;which is also in the cache) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; recompile the groovy script file and cache it
&lt;br&gt;&amp;gt; &amp;nbsp; } else {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; return the requested class
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt; } else {
&lt;br&gt;&amp;gt; &amp;nbsp; compile the groovy script file and cache it
&lt;br&gt;&amp;gt; &amp;nbsp; return the requested class
&lt;br&gt;&amp;gt; }
&lt;br&gt;&lt;br&gt;that's how it is working, or not?
&lt;br&gt;&lt;br&gt;bye blackdrag
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Jochen &amp;quot;blackdrag&amp;quot; Theodorou
&lt;br&gt;Groovy Tech Lead (&lt;a href=&quot;http://groovy.codehaus.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groovy.codehaus.org&lt;/a&gt;)
&lt;br&gt;&lt;a href=&quot;http://blackdragsview.blogspot.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blackdragsview.blogspot.com/&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/One-easy-way-to-improve-performance-a-lot-tp8880607p8939722.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-8926139</id>
	<title>Re: One easy way to improve performance a lot</title>
	<published>2007-02-12T07:17:55Z</published>
	<updated>2007-02-12T07:17:55Z</updated>
	<author>
		<name>Jochen Theodorou</name>
	</author>
	<content type="html">Daniel.Sun schrieb:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi all,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I found more than 90% time is spent in compiling. 
&lt;br&gt;&amp;gt; So I think caching these latest compiled groovy class will improve
&lt;br&gt;&amp;gt; performance a lot.
&lt;br&gt;&amp;gt; The cache pool should be provided with gdk and instance of the pool should
&lt;br&gt;&amp;gt; be store in a Thread which is started when we run our application.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; pseudocode as follows:
&lt;br&gt;&amp;gt; find the requested class from cache.
&lt;br&gt;&amp;gt; if (the class is cached) {
&lt;br&gt;&amp;gt; &amp;nbsp; if (modifying timestamp of groovy script file &amp;nbsp;&amp;gt; &amp;nbsp;modifying timestamp of
&lt;br&gt;&amp;gt; class's groovy script file &amp;nbsp;which is also in the cache) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; recompile the groovy script file and cache it
&lt;br&gt;&amp;gt; &amp;nbsp; } else {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; return the requested class
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt; } else {
&lt;br&gt;&amp;gt; &amp;nbsp; compile the groovy script file and cache it
&lt;br&gt;&amp;gt; &amp;nbsp; return the requested class
&lt;br&gt;&amp;gt; }
&lt;/div&gt;&lt;br&gt;that's how it is working, or not?
&lt;br&gt;&lt;br&gt;bye blackdrag
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Jochen &amp;quot;blackdrag&amp;quot; Theodorou
&lt;br&gt;Groovy Tech Lead (&lt;a href=&quot;http://groovy.codehaus.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groovy.codehaus.org&lt;/a&gt;)
&lt;br&gt;&lt;a href=&quot;http://blackdragsview.blogspot.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blackdragsview.blogspot.com/&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/One-easy-way-to-improve-performance-a-lot-tp8880607p8926139.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-8880607</id>
	<title>One easy way to improve performance a lot</title>
	<published>2007-02-08T21:16:06Z</published>
	<updated>2007-02-08T21:16:06Z</updated>
	<author>
		<name>Daniel.Sun</name>
	</author>
	<content type="html">Hi all,
&lt;br&gt;&lt;br&gt;I found more than 90% time is spent in compiling. 
&lt;br&gt;So I think caching these latest compiled groovy class will improve performance a lot.
&lt;br&gt;The cache pool should be provided with gdk and instance of the pool should be store in a Thread which is started when we run our application.
&lt;br&gt;&lt;br&gt;pseudocode as follows:
&lt;br&gt;find the requested class from cache.
&lt;br&gt;if (the class is cached) {
&lt;br&gt;&amp;nbsp; if (modifying timestamp of groovy script file &amp;nbsp;&amp;gt; &amp;nbsp;modifying timestamp of class's groovy script file &amp;nbsp;which is also in the cache) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; recompile the groovy script file and cache it
&lt;br&gt;&amp;nbsp; } 
&lt;br&gt;} else {
&lt;br&gt;&amp;nbsp; compile the groovy script file and cache it
&lt;br&gt;}
&lt;br&gt;return the requested class
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;Daniel.Sun</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/One-easy-way-to-improve-performance-a-lot-tp8880607p8880607.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-8864237</id>
	<title>Re: Improvement in handling exception</title>
	<published>2007-02-08T04:13:21Z</published>
	<updated>2007-02-08T04:13:21Z</updated>
	<author>
		<name>Jochen Theodorou</name>
	</author>
	<content type="html">John Wilson schrieb:
&lt;br&gt;[...]
&lt;br&gt;&amp;gt; I do, however, think that &amp;nbsp;we could improve our Exception handling whit 
&lt;br&gt;&amp;gt; respect to Java interfacing. If a groovy method throws a checked 
&lt;br&gt;&amp;gt; exception but does not have a throws clause then a Java method which 
&lt;br&gt;&amp;gt; calls it cannot catch the exception.
&lt;br&gt;&lt;br&gt;a reason to declare that Exception in the throws clause
&lt;br&gt;&lt;br&gt;&amp;gt; The Groovy compiler can tell that a 
&lt;br&gt;&amp;gt; checked exception is thrown and could, in principle, put the throws 
&lt;br&gt;&amp;gt; clause into the generated bytecode.
&lt;br&gt;&lt;br&gt;sure yes... when I move the exception throwing code into another method, 
&lt;br&gt;then what? I don't think we should do that... too much magic and for 
&lt;br&gt;APIwriters it is a bad thing to have these Exceptions in there without 
&lt;br&gt;their knowledge. And if I write a method m1 that calls a method m2 that 
&lt;br&gt;throws a checked exception e1 and if I call this method m1, then how do 
&lt;br&gt;I catch e1? When I think about IOEceptions, then I think it is not 
&lt;br&gt;reasonable to automatically put anything into the method signature, that 
&lt;br&gt;is not decided by the programer.
&lt;br&gt;&lt;br&gt;bye blackdrag
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Jochen &amp;quot;blackdrag&amp;quot; Theodorou
&lt;br&gt;Groovy Tech Lead (&lt;a href=&quot;http://groovy.codehaus.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groovy.codehaus.org&lt;/a&gt;)
&lt;br&gt;&lt;a href=&quot;http://blackdragsview.blogspot.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blackdragsview.blogspot.com/&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Improvement-in-handling-exception-tp8860061p8864237.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-8863246</id>
	<title>Re: Improvement in handling exception</title>
	<published>2007-02-08T02:56:01Z</published>
	<updated>2007-02-08T02:56:01Z</updated>
	<author>
		<name>Russel Winder</name>
	</author>
	<content type="html">I very much agree with Paul's comments, but I would take a stronger
&lt;br&gt;line:
&lt;br&gt;&lt;br&gt;I think that checked exceptions thrown by library / infrastructure are a
&lt;br&gt;mechanism for the library / infrastructure implementer to control the
&lt;br&gt;way in which an application is to be programmed, i.e. to limit the
&lt;br&gt;freedom of the application developer to design and implement the
&lt;br&gt;application as they want to do.
&lt;br&gt;&lt;br&gt;I find the fascism of checked exceptions issued by libraries /
&lt;br&gt;infrastructure to be extremely constraining -- and if you see any of my
&lt;br&gt;C++ or Java code you will see I am a huge fan of massive static type
&lt;br&gt;checking, and use of cosnt/final everywhere to ensure single assignment
&lt;br&gt;semantics wherever possible (arguably I overdo it :-).
&lt;br&gt;&lt;br&gt;Personally I can see no use for checked exceptions except where the
&lt;br&gt;throwing and catching are always entirely within the code I write.
&lt;br&gt;&lt;br&gt;On Thu, 2007-02-08 at 20:34 +1000, Paul King wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; There are those that despise checked exceptions (it makes TDD harder
&lt;br&gt;&amp;gt; in Java) and those that argue the benefits. The balanced view for Java
&lt;br&gt;&amp;gt; is that checked exceptions should be used when you can reasonably expect
&lt;br&gt;&amp;gt; that the caller can and wants/needs to be able to respond to an error
&lt;br&gt;&amp;gt; situation. The implication of this is that for nearly any general purpose
&lt;br&gt;&amp;gt; library checked exceptions are not usually the way to go because you
&lt;br&gt;&amp;gt; can't (in general) always know that a user of your library wants to
&lt;br&gt;&amp;gt; respond to your errors. There are many places in Java which don't obey
&lt;br&gt;&amp;gt; this rule. Groovy's design choices makes using such classes have much
&lt;br&gt;&amp;gt; less scaffolding code and makes various kinds of testing both possible
&lt;br&gt;&amp;gt; and relatively easy. You can add the relevant try/catch code if you
&lt;br&gt;&amp;gt; wish.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Now, arguments for using checked exceptions within your application
&lt;br&gt;&amp;gt; are much stronger. There they can be much more beneficial and you can
&lt;br&gt;&amp;gt; reasonably expect that parts of your application code can make expectations
&lt;br&gt;&amp;gt; about how other parts can/should use exceptions. Even so, if you refactor
&lt;br&gt;&amp;gt; your code into general purpose libraries, you will probably keep checked
&lt;br&gt;&amp;gt; exceptions out of the reusable parts. What you will have left - the places
&lt;br&gt;&amp;gt; were checked exceptions prove most beneficial should really only be a
&lt;br&gt;&amp;gt; small number of layers. Groovy doesn't help in this case but there is
&lt;br&gt;&amp;gt; no reason why good IDE support couldn't detect such scenarios.
&lt;/div&gt;&lt;/div&gt;-- 
&lt;br&gt;Russel.
&lt;br&gt;====================================================
&lt;br&gt;Dr Russel Winder &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+44 20 7585 2200
&lt;br&gt;41 Buckmaster Road &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+44 7770 465 077
&lt;br&gt;London SW11 1EN, UK &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=8863246&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;russel@...&lt;/a&gt;
&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (196 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/8863246/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Improvement-in-handling-exception-tp8860061p8863246.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-8863077</id>
	<title>Re: Improvement in handling exception</title>
	<published>2007-02-08T02:44:35Z</published>
	<updated>2007-02-08T02:44:35Z</updated>
	<author>
		<name>Russel Winder</name>
	</author>
	<content type="html">On Thu, 2007-02-08 at 09:54 +0000, John Wilson wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; I always have a period when moving from programming language X to &amp;nbsp;
&lt;br&gt;&amp;gt; programming language Y of saying &amp;quot;In X we do this why can't I do it &amp;nbsp;
&lt;br&gt;&amp;gt; in Y?&amp;quot;. In the end I understnad Y's way of doing things!
&lt;br&gt;&lt;br&gt;Back to Marion's thesis :-)
&lt;br&gt;&lt;br&gt;Don't forget though the situation:
&lt;br&gt;&lt;br&gt;I am moving from language X to language Y, I do this thing this way in X
&lt;br&gt;why can't I do it this way in Y. &amp;nbsp;Ah you do it that way in Y, but isn't
&lt;br&gt;that ludicrous? &amp;nbsp;If I did it this way in Y learning a lesson from the
&lt;br&gt;way it is done in X then doesn't that work even better in Y? &amp;nbsp;Oh yes.
&lt;br&gt;&lt;br&gt;This is why I like working in multiple languages at all times, the
&lt;br&gt;cross-fertilization of idioms makes for much better programs in all
&lt;br&gt;languages.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Russel.
&lt;br&gt;====================================================
&lt;br&gt;Dr Russel Winder &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+44 20 7585 2200
&lt;br&gt;41 Buckmaster Road &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+44 7770 465 077
&lt;br&gt;London SW11 1EN, UK &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=8863077&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;russel@...&lt;/a&gt;
&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (196 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/8863077/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Improvement-in-handling-exception-tp8860061p8863077.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-8862943</id>
	<title>Re: Improvement in handling exception</title>
	<published>2007-02-08T02:34:52Z</published>
	<updated>2007-02-08T02:34:52Z</updated>
	<author>
		<name>Paul King</name>
	</author>
	<content type="html">John Wilson wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On 8 Feb 2007, at 06:11, Daniel.Sun wrote:
&lt;br&gt;&amp;gt;&amp;gt; [...] I think Groovy should compel programmers to add 'throws XXXException'
&lt;br&gt;&amp;gt;&amp;gt; explicitly as Java do when defining a method that can throw some 
&lt;br&gt;&amp;gt;&amp;gt; exception.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The debate about checked vs unchecked exceptions is very old. Java has 
&lt;br&gt;&amp;gt; checked exceptions (put into the language at the very last minute), C# 
&lt;br&gt;&amp;gt; does not. There have been many discussions about the robustness of C# 
&lt;br&gt;&amp;gt; applications vs Java ones due to this difference. In practice there 
&lt;br&gt;&amp;gt; seems not to be any difference.
&lt;/div&gt;&lt;br&gt;I would present the issues in a different (and much less succinct)
&lt;br&gt;way than John but reach very similar conclusions...
&lt;br&gt;&lt;br&gt;There are those that despise checked exceptions (it makes TDD harder
&lt;br&gt;in Java) and those that argue the benefits. The balanced view for Java
&lt;br&gt;is that checked exceptions should be used when you can reasonably expect
&lt;br&gt;that the caller can and wants/needs to be able to respond to an error
&lt;br&gt;situation. The implication of this is that for nearly any general purpose
&lt;br&gt;library checked exceptions are not usually the way to go because you
&lt;br&gt;can't (in general) always know that a user of your library wants to
&lt;br&gt;respond to your errors. There are many places in Java which don't obey
&lt;br&gt;this rule. Groovy's design choices makes using such classes have much
&lt;br&gt;less scaffolding code and makes various kinds of testing both possible
&lt;br&gt;and relatively easy. You can add the relevant try/catch code if you
&lt;br&gt;wish.
&lt;br&gt;&lt;br&gt;Now, arguments for using checked exceptions within your application
&lt;br&gt;are much stronger. There they can be much more beneficial and you can
&lt;br&gt;reasonably expect that parts of your application code can make expectations
&lt;br&gt;about how other parts can/should use exceptions. Even so, if you refactor
&lt;br&gt;your code into general purpose libraries, you will probably keep checked
&lt;br&gt;exceptions out of the reusable parts. What you will have left - the places
&lt;br&gt;were checked exceptions prove most beneficial should really only be a
&lt;br&gt;small number of layers. Groovy doesn't help in this case but there is
&lt;br&gt;no reason why good IDE support couldn't detect such scenarios.
&lt;br&gt;&lt;br&gt;Paul.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Improvement-in-handling-exception-tp8860061p8862943.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-8862565</id>
	<title>Re: Improvement in handling exception</title>
	<published>2007-02-08T02:06:47Z</published>
	<updated>2007-02-08T02:06:47Z</updated>
	<author>
		<name>Daniel.Sun</name>
	</author>
	<content type="html">Yeah, you're right. 
&lt;br&gt;I will take more time in studying Groovy which is really very wonderful programming language. 
&lt;br&gt;I love it very much :)
&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;John Wilson wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;On 8 Feb 2007, at 09:23, Daniel.Sun wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Thank you for your patient response.
&lt;br&gt;&amp;gt; Maybe I program in Java for a long time, so something groovy I can't
&lt;br&gt;&amp;gt; understand and meet troubles half-way :)
&lt;br&gt;&lt;br&gt;&lt;br&gt;it's no problem:)
&lt;br&gt;&lt;br&gt;I always have a period when moving from programming language X to &amp;nbsp;
&lt;br&gt;programming language Y of saying &amp;quot;In X we do this why can't I do it &amp;nbsp;
&lt;br&gt;in Y?&amp;quot;. In the end I understnad Y's way of doing things!
&lt;br&gt;&lt;br&gt;&lt;br&gt;John Wilson
&lt;br&gt;The Wilson Partnership
&lt;br&gt;web &lt;a href=&quot;http://www.wilson.co.uk&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.wilson.co.uk&lt;/a&gt;&lt;br&gt;blog &lt;a href=&quot;http://eek.ook.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://eek.ook.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Improvement-in-handling-exception-tp8860061p8862565.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-8862420</id>
	<title>Re: Improvement in handling exception</title>
	<published>2007-02-08T01:54:25Z</published>
	<updated>2007-02-08T01:54:25Z</updated>
	<author>
		<name>tugwilson</name>
	</author>
	<content type="html">&lt;br&gt;On 8 Feb 2007, at 09:23, Daniel.Sun wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Thank you for your patient response.
&lt;br&gt;&amp;gt; Maybe I program in Java for a long time, so something groovy I can't
&lt;br&gt;&amp;gt; understand and meet troubles half-way :)
&lt;br&gt;&lt;br&gt;&lt;br&gt;it's no problem:)
&lt;br&gt;&lt;br&gt;I always have a period when moving from programming language X to &amp;nbsp;
&lt;br&gt;programming language Y of saying &amp;quot;In X we do this why can't I do it &amp;nbsp;
&lt;br&gt;in Y?&amp;quot;. In the end I understnad Y's way of doing things!
&lt;br&gt;&lt;br&gt;&lt;br&gt;John Wilson
&lt;br&gt;The Wilson Partnership
&lt;br&gt;web &lt;a href=&quot;http://www.wilson.co.uk&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.wilson.co.uk&lt;/a&gt;&lt;br&gt;blog &lt;a href=&quot;http://eek.ook.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://eek.ook.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Improvement-in-handling-exception-tp8860061p8862420.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-8861915</id>
	<title>Re: Improvement in handling exception</title>
	<published>2007-02-08T01:23:23Z</published>
	<updated>2007-02-08T01:23:23Z</updated>
	<author>
		<name>Daniel.Sun</name>
	</author>
	<content type="html">Thank you for your patient response.
&lt;br&gt;Maybe I program in Java for a long time, so something groovy I can't understand and meet troubles half-way :)
&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;John Wilson wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;On 8 Feb 2007, at 06:11, Daniel.Sun wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Hi all,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;quot;the Groovy methods will not declare that they throw any checked &amp;nbsp;
&lt;br&gt;&amp;gt; exceptions
&lt;br&gt;&amp;gt; unless you’ve explicitly added the
&lt;br&gt;&amp;gt; declaration, even though they might throw checked exceptions at &amp;nbsp;
&lt;br&gt;&amp;gt; runtime.&amp;quot;
&lt;br&gt;&amp;gt; quoted from 'Groovy in Action'
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I think Groovy should compel programmers to add 'throws XXXException'
&lt;br&gt;&amp;gt; explicitly as Java do when defining a method that can throw some &amp;nbsp;
&lt;br&gt;&amp;gt; exception.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Why do I think it very vital?
&lt;br&gt;&amp;gt; For example,
&lt;br&gt;&amp;gt; If I define an exception of my own.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; class MyException extends Exception {
&lt;br&gt;&amp;gt; &amp;nbsp; MyException(String msg) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; super(msg)
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; then I instantiate MyException and throw it in myMethod1
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; def myMethod1() {
&lt;br&gt;&amp;gt; &amp;nbsp; throw new MyException(&amp;quot;error root&amp;quot;)
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; then I invoke myMethod1 in myMethod2
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; def myMethod2() {
&lt;br&gt;&amp;gt; &amp;nbsp; //... omit
&lt;br&gt;&amp;gt; &amp;nbsp; myMethod1()
&lt;br&gt;&amp;gt; &amp;nbsp; //...omit
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; //...invoke myMethodx() in myMethody()
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; At last I invoke myMethody in myMethodn which is vital for our &amp;nbsp;
&lt;br&gt;&amp;gt; application
&lt;br&gt;&amp;gt; and should be robust and shouldn't crash.
&lt;br&gt;&amp;gt; but I can NOT remember that myMethody can throw MyException. What &amp;nbsp;
&lt;br&gt;&amp;gt; is worse,
&lt;br&gt;&amp;gt; I have NOT enclosed &amp;quot;myMethody()&amp;quot; in try-catch clause. Disaster &amp;nbsp;
&lt;br&gt;&amp;gt; appeared :(
&lt;br&gt;&amp;gt; myMethodn will crash in some day.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; def myMethodn() {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;//... omit
&lt;br&gt;&amp;gt; &amp;nbsp; myMethody()
&lt;br&gt;&amp;gt; &amp;nbsp; //...omit
&lt;br&gt;&amp;gt; }
&lt;br&gt;&lt;br&gt;&lt;br&gt;The debate about checked vs unchecked exceptions is very old. Java &amp;nbsp;
&lt;br&gt;has checked exceptions (put into the language at the very last &amp;nbsp;
&lt;br&gt;minute), C# does not. There have been many discussions about the &amp;nbsp;
&lt;br&gt;robustness of C# applications vs Java ones due to this difference. In &amp;nbsp;
&lt;br&gt;practice there seems not to be any difference.
&lt;br&gt;&lt;br&gt;We took a decision right at the start of the project not to require &amp;nbsp;
&lt;br&gt;users to do housekeeping of checked exceptions and this seems to work &amp;nbsp;
&lt;br&gt;very well.
&lt;br&gt;&lt;br&gt;I do, however, think that &amp;nbsp;we could improve our Exception handling &amp;nbsp;
&lt;br&gt;whit respect to Java interfacing. If a groovy method throws a checked &amp;nbsp;
&lt;br&gt;exception but does not have a throws clause then a Java method which &amp;nbsp;
&lt;br&gt;calls it cannot catch the exception. The Groovy compiler can tell &amp;nbsp;
&lt;br&gt;that a checked exception is thrown and could, in principle, put the &amp;nbsp;
&lt;br&gt;throws clause into the generated bytecode.
&lt;br&gt;&lt;br&gt;&lt;br&gt;John Wilson
&lt;br&gt;The Wilson Partnership
&lt;br&gt;web &lt;a href=&quot;http://www.wilson.co.uk&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.wilson.co.uk&lt;/a&gt;&lt;br&gt;blog &lt;a href=&quot;http://eek.ook.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://eek.ook.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Improvement-in-handling-exception-tp8860061p8861915.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-8860548</id>
	<title>Re: Improvement in handling exception</title>
	<published>2007-02-07T23:21:37Z</published>
	<updated>2007-02-07T23:21:37Z</updated>
	<author>
		<name>tugwilson</name>
	</author>
	<content type="html">&lt;br&gt;On 8 Feb 2007, at 06:11, Daniel.Sun wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi all,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;quot;the Groovy methods will not declare that they throw any checked &amp;nbsp;
&lt;br&gt;&amp;gt; exceptions
&lt;br&gt;&amp;gt; unless you’ve explicitly added the
&lt;br&gt;&amp;gt; declaration, even though they might throw checked exceptions at &amp;nbsp;
&lt;br&gt;&amp;gt; runtime.&amp;quot;
&lt;br&gt;&amp;gt; quoted from 'Groovy in Action'
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I think Groovy should compel programmers to add 'throws XXXException'
&lt;br&gt;&amp;gt; explicitly as Java do when defining a method that can throw some &amp;nbsp;
&lt;br&gt;&amp;gt; exception.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Why do I think it very vital?
&lt;br&gt;&amp;gt; For example,
&lt;br&gt;&amp;gt; If I define an exception of my own.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; class MyException extends Exception {
&lt;br&gt;&amp;gt; &amp;nbsp; MyException(String msg) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; super(msg)
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; then I instantiate MyException and throw it in myMethod1
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; def myMethod1() {
&lt;br&gt;&amp;gt; &amp;nbsp; throw new MyException(&amp;quot;error root&amp;quot;)
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; then I invoke myMethod1 in myMethod2
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; def myMethod2() {
&lt;br&gt;&amp;gt; &amp;nbsp; //... omit
&lt;br&gt;&amp;gt; &amp;nbsp; myMethod1()
&lt;br&gt;&amp;gt; &amp;nbsp; //...omit
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; //...invoke myMethodx() in myMethody()
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; At last I invoke myMethody in myMethodn which is vital for our &amp;nbsp;
&lt;br&gt;&amp;gt; application
&lt;br&gt;&amp;gt; and should be robust and shouldn't crash.
&lt;br&gt;&amp;gt; but I can NOT remember that myMethody can throw MyException. What &amp;nbsp;
&lt;br&gt;&amp;gt; is worse,
&lt;br&gt;&amp;gt; I have NOT enclosed &amp;quot;myMethody()&amp;quot; in try-catch clause. Disaster &amp;nbsp;
&lt;br&gt;&amp;gt; appeared :(
&lt;br&gt;&amp;gt; myMethodn will crash in some day.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; def myMethodn() {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;//... omit
&lt;br&gt;&amp;gt; &amp;nbsp; myMethody()
&lt;br&gt;&amp;gt; &amp;nbsp; //...omit
&lt;br&gt;&amp;gt; }
&lt;/div&gt;&lt;br&gt;&lt;br&gt;The debate about checked vs unchecked exceptions is very old. Java &amp;nbsp;
&lt;br&gt;has checked exceptions (put into the language at the very last &amp;nbsp;
&lt;br&gt;minute), C# does not. There have been many discussions about the &amp;nbsp;
&lt;br&gt;robustness of C# applications vs Java ones due to this difference. In &amp;nbsp;
&lt;br&gt;practice there seems not to be any difference.
&lt;br&gt;&lt;br&gt;We took a decision right at the start of the project not to require &amp;nbsp;
&lt;br&gt;users to do housekeeping of checked exceptions and this seems to work &amp;nbsp;
&lt;br&gt;very well.
&lt;br&gt;&lt;br&gt;I do, however, think that &amp;nbsp;we could improve our Exception handling &amp;nbsp;
&lt;br&gt;whit respect to Java interfacing. If a groovy method throws a checked &amp;nbsp;
&lt;br&gt;exception but does not have a throws clause then a Java method which &amp;nbsp;
&lt;br&gt;calls it cannot catch the exception. The Groovy compiler can tell &amp;nbsp;
&lt;br&gt;that a checked exception is thrown and could, in principle, put the &amp;nbsp;
&lt;br&gt;throws clause into the generated bytecode.
&lt;br&gt;&lt;br&gt;&lt;br&gt;John Wilson
&lt;br&gt;The Wilson Partnership
&lt;br&gt;web &lt;a href=&quot;http://www.wilson.co.uk&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.wilson.co.uk&lt;/a&gt;&lt;br&gt;blog &lt;a href=&quot;http://eek.ook.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://eek.ook.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Improvement-in-handling-exception-tp8860061p8860548.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-8860061</id>
	<title>Improvement in handling exception</title>
	<published>2007-02-07T22:11:44Z</published>
	<updated>2007-02-07T22:11:44Z</updated>
	<author>
		<name>Daniel.Sun</name>
	</author>
	<content type="html">Hi all,
&lt;br&gt;&lt;br&gt;&amp;quot;the Groovy methods will not declare that they throw any checked exceptions unless you’ve explicitly added the
&lt;br&gt;declaration, even though they might throw checked exceptions at runtime.&amp;quot; quoted from 'Groovy in Action'
&lt;br&gt;&lt;br&gt;I think Groovy should compel programmers to add 'throws XXXException' explicitly as Java do when defining a method that can throw some exception.
&lt;br&gt;&lt;br&gt;Why do I think it very vital?
&lt;br&gt;For example,
&lt;br&gt;If I define an exception of my own.
&lt;br&gt;&lt;br&gt;class MyException extends Exception {
&lt;br&gt;&amp;nbsp; MyException(String msg) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; super(msg)
&lt;br&gt;&amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;then I instantiate MyException and throw it in myMethod1
&lt;br&gt;&lt;br&gt;def myMethod1() {
&lt;br&gt;&amp;nbsp; throw new MyException(&amp;quot;error root&amp;quot;)
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;then I invoke myMethod1 in myMethod2
&lt;br&gt;&lt;br&gt;def myMethod2() {
&lt;br&gt;&amp;nbsp; //... omit
&lt;br&gt;&amp;nbsp; myMethod1()
&lt;br&gt;&amp;nbsp; //...omit
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;//...invoke myMethodx() in myMethody()
&lt;br&gt;&lt;br&gt;At last I invoke myMethody in myMethodn which is vital for our application and should be robust and shouldn't crash.
&lt;br&gt;but I can NOT remember that myMethody can throw MyException. What is worse, I have NOT enclosed &amp;quot;myMethody()&amp;quot; in try-catch clause. Disaster appeared :( &amp;nbsp;myMethodn will crash in some day.
&lt;br&gt;&lt;br&gt;def myMethodn() {
&lt;br&gt;&amp;nbsp; &amp;nbsp;//... omit
&lt;br&gt;&amp;nbsp; myMethody()
&lt;br&gt;&amp;nbsp; //...omit
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;Daniel.Sun</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Improvement-in-handling-exception-tp8860061p8860061.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-8751796</id>
	<title>Re: List of Closures and traditional for lopp</title>
	<published>2007-02-01T08:38:52Z</published>
	<updated>2007-02-01T08:38:52Z</updated>
	<author>
		<name>Jochen Theodorou</name>
	</author>
	<content type="html">John Wilson schrieb:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On 1 Feb 2007, at 13:45, Jochen Theodorou wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; for (int i=0; i&amp;lt;X; &amp;lt;i++) {System.out.println(i);}
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; seems not to confuse anyone. All I propose is to make this into a 
&lt;br&gt;&amp;gt;&amp;gt; usage of closures, that's all.. for example think of
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; That's because I is declared outside the scope of the block and is 
&lt;br&gt;&amp;gt; inherited into the block in the normal way.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; In Java and C &amp;quot;(&amp;quot; does not introduce a new scoping context.
&lt;/div&gt;&lt;br&gt;right, so there is no problem with the scoping ;) No, ( does really 
&lt;br&gt;introduce a new scoping context, because:
&lt;br&gt;&lt;br&gt;for (int i=0; i&amp;lt;X; &amp;lt;i++) {System.out.println(i);}
&lt;br&gt;System.out.println(i);
&lt;br&gt;&lt;br&gt;is illegal, as result of a undeclared i, where
&lt;br&gt;&lt;br&gt;int i =0;
&lt;br&gt;for (i=0; i&amp;lt;X; &amp;lt;i++) {System.out.println(i);}
&lt;br&gt;System.out.println(i);
&lt;br&gt;&lt;br&gt;is allowed. Ok, maybe your &amp;quot;new scoping context&amp;quot; was fixed on the block 
&lt;br&gt;rather then the scope we are already in. But even if ( would introduce a 
&lt;br&gt;new scoping context and if the block after is automatically part of that 
&lt;br&gt;context, would it make a difference? that's the way it is implemented 
&lt;br&gt;for the while-statement atm.
&lt;br&gt;&lt;br&gt;bye blackdrag
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Jochen &amp;quot;blackdrag&amp;quot; Theodorou
&lt;br&gt;Groovy Tech Lead (&lt;a href=&quot;http://groovy.codehaus.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groovy.codehaus.org&lt;/a&gt;)
&lt;br&gt;&lt;a href=&quot;http://blackdragsview.blogspot.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blackdragsview.blogspot.com/&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/List-of-Closures-and-traditional-for-lopp-tp8522165p8751796.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-8749112</id>
	<title>Re: List of Closures and traditional for lopp</title>
	<published>2007-02-01T06:24:49Z</published>
	<updated>2007-02-01T06:24:49Z</updated>
	<author>
		<name>tugwilson</name>
	</author>
	<content type="html">&lt;br&gt;On 1 Feb 2007, at 13:45, Jochen Theodorou wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; for (int i=0; i&amp;lt;X; &amp;lt;i++) {System.out.println(i);}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; seems not to confuse anyone. All I propose is to make this into a &amp;nbsp;
&lt;br&gt;&amp;gt; usage of closures, that's all.. for example think of
&lt;br&gt;&lt;br&gt;&lt;br&gt;That's because I is declared outside the scope of the block and is &amp;nbsp;
&lt;br&gt;inherited into the block in the normal way.
&lt;br&gt;&lt;br&gt;In Java and C &amp;quot;(&amp;quot; does not introduce a new scoping context.
&lt;br&gt;&lt;br&gt;&lt;br&gt;John Wilson
&lt;br&gt;The Wilson Partnership
&lt;br&gt;web &lt;a href=&quot;http://www.wilson.co.uk&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.wilson.co.uk&lt;/a&gt;&lt;br&gt;blog &lt;a href=&quot;http://eek.ook.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://eek.ook.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/List-of-Closures-and-traditional-for-lopp-tp8522165p8749112.html" />
</entry>

</feed>
