[Pharo-project] [ANN] PHANtom: A modern Aspect Language for Pharo
lemuus at gmail.com
Wed May 4 17:32:16 CEST 2011
We are happy to announce the release of PHANtom: a modern aspect language
PHANtom was built taking into account recent advances in aspect language
features such as dynamic advice rescheduling, reentrancy management, and
scoping strategies for deployment. The advanced features are not all
implemented yet, but the 'normal' features work and are well-tested (about
130 unit tests) so we are relasing it to the world for you to try out. We
hope PHANtom can help you to solve some cross-cutting code problems.
An overview of the language can be found at http://pleiad.cl/PHANtom Please
try it out, see if it works for you, all your comments are welcome!
I am doing this as my engineering thesis, under the guidance of Prof. Johan
PHANtom works in Pharo 1.2.1 and in 1.3, and also in PharoCore.
Right now, PHANtom uses Method Wrappers in its' implementation, just like
the AspectS language did. But the plan is once we have all features
implemented, that we will start compiling using the Opal compiler of Pharo,
to make everything go faster.
I just put one example from the website here so you can see what it looks
asp := PhAspect new
add: (PhAdvice new
pointcut: (PhPointcut new
context: #(#receiver #arguments));
advice: [:context |
Transcript show: context receiver.
Transcript show: ' moved to: '.
Transcript show: context arguments; cr.];
Note: the unit tests of pointcuts take a large amount of time to execute, as
some of them match on everything in the image.
For more info and how to download PHANtom see http://pleiad.cl/PHANtom
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Pharo-project