Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Re: [groovy-user] AspectG?

If you're interested in aspect languages for dynamic languages like Groovy (which actually do answer some of the questions you raised below), you may want to have a look at what has been for Scheme and JavaScript:

AspectScheme:
http://www.cs.usask.ca/~cjd032/downloads/AspectScheme/
http://www.cs.usask.ca/~cjd032/publications/semantics-scp06.pdf

AspectScript:
http://pleiad.cl/aspectscript
http://pleiad.dcc.uchile.cl/papers/2010/toledoAl-aosd2010.pdf

-- Éric


On Jun 15, 2010, at 11:23 AM, Matthew Adams wrote:

> inline...
> 
> On Mon, Jun 14, 2010 at 7:05 PM, Pierre Thibault
> <pierre.thibault1@xxxxxxxxx> wrote:
>> You can create your aspects in AspectJ and do the weaving on the .class
>> files generated by Groovy.
> Assuming you know what the signatures of Groovy methods are, I suppose
> you could write AspectJ aspects.  Questions:
> 
> What's the pointcut for a Groovy method "def go(foo)"?  What's the
> pointcut for calls to the closure invoked like "list.each { foo(it) }"
> so that I can apply around advice to it?
> 
> It seems as though there are opportunities to Groovify pointcuts,
> advice & ITDs.  If I have to write everything in AspectJ, it seems
> like a less desirable solution.
> 
> Also, what if I'm interpreting scripts instead of compiling my Groovy
> classes?  How do I make aspects apply then?
> 
>> You can also create a little shell in AspectJ
>> delegating the work to an implementation in Groovy.
>> 
> Seems like a kludge to me.  I'm curious about a full-blown, native
> Groovy version of AspectJ.
> 
> -matthew
> 
>> 2010/6/14 Matthew Adams <matthew@xxxxxxxxxxxxxxx>
>>> 
>>> [NB:  crossposting to both groovy & aspectj user lists.  Replying to
>>> both would be cool.]
>>> 
>>> Hi all,
>>> 
>>> For me, using Groovy is like programming with lubrication -- makes
>>> programming slicker and faster with less resistance.  However, since I
>>> use AspectJ with Java, I'm not willing to give up the power of aspects
>>> (pointcuts & advice) and intertype declarations.  I would make the
>>> leap wholeheartedly to Groovy and probably never look back if I knew
>>> how I could use these AspectJ constructs in Groovy.
>>> 
>>> Is there a definitive road map for "AspectG", as it were?  How does
>>> the dynamic nature of Groovy and Groovy's MOP affect the strong syntax
>>> affinity that AspectJ has in Java land?
>>> 
>>> I'm aware of Groovy's (and Objective-C's) categories, but that seems
>>> to fall short of the full power of AspectJ, plus, I'm not sure that I
>>> necessarily like Groovy categories' "use" syntax, unless I'm
>>> misunderstanding it.  (Note that I would make the same argument for
>>> Objective-C -- is there an AspectOC on the horizon?)
>>> 
>>> I've also seen http://www.infoq.com/articles/aop-with-groovy and
>>> http://groovy.codehaus.org/Using+invokeMethod+and+getProperty which
>>> discuss some AOP concepts in Groovy, but that kind of method
>>> interception seems to provide AOP support on an individual class basis
>>> (and only for method invocation, leaving out constructor invocation
>>> interception, field access interception, etc).
>>> 
>>> -matthew
>>> 
>>> --
>>> mailto:matthew@xxxxxxxxxxxxxxx
>>> skype:matthewadams12
>>> yahoo:matthewadams
>>> aol:matthewadams12
>>> google-talk:matthewadams12@xxxxxxxxx
>>> msn:matthew@xxxxxxxxxxxxxxx
>>> http://matthewadams.me
>>> http://www.linkedin.com/in/matthewadams
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe from this list, please visit:
>>> 
>>>    http://xircles.codehaus.org/manage_email
>>> 
>>> 
>> 
>> 
>> 
>> --
>> A+
>> 
>> -------------
>> Pierre
>> 
> 
> 
> 
> -- 
> mailto:matthew@xxxxxxxxxxxxxxx
> skype:matthewadams12
> yahoo:matthewadams
> aol:matthewadams12
> google-talk:matthewadams12@xxxxxxxxx
> msn:matthew@xxxxxxxxxxxxxxx
> http://matthewadams.me
> http://www.linkedin.com/in/matthewadams
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users



Back to the top