groovy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jochen Theodorou <>
Subject Re: Extension method upgrades
Date Thu, 21 Dec 2017 01:34:12 GMT
On 21.12.2017 01:43, Nathan Harvey wrote:
> I think these features are very similar. Expanding the "use" block's scope is
> basically the same as adding a global extension method, in my opinion

we may have differing definitions for global here I guess. A lexical 
scope limited use-block is the plan for static categories.

> (the
> entire "use" schema doesn't seem to have any advantages over extensions
> anyway).

extensions methods are always active, categories are not. As such you 
can induce specific controlled behaviour if you need it, when you need 
it. Extension methods donĀ“t allow that level of control. I think that is 
an advantage, an important one for me, but I can very well imagine 
scenarios in which people do not care about that.

> I think the best way forward is to get an experimental, working
> implementation of same-module extensions. Once again, the syntax I mentioned
> removes the necessity for annotations or special import statements. Perhaps
> for temporary purposes an annotation should be introduced. What do you think
> about this?

Sure, let us not be blinded by syntax discussions. Better is to define 
the static and dynamic semantics of the construct. But frankly, the 
dynamic semantics, the normal Groovy behaviour, is what did hold me back 
in the past here. Or should I say the implementation?

bye Jochen

View raw message