[Pharo-project] [Pharo-users] [ANN] PHANtom: A modern Aspect Language for Pharo
Mariano Martinez Peck
marianopeck at gmail.com
Wed May 4 19:00:00 CEST 2011
On Wed, May 4, 2011 at 5:32 PM, Lemuus <lemuus at gmail.com> wrote:
> Hello all,
> We are happy to announce the release of PHANtom: a modern aspect language
> for Pharo.
> 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/PHANtomPlease try it out, see if it works for you, all your comments are welcome!
> More details:
> 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.
Congratualtions for the nice work!!
> 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 don't understand why you need the Compiler. Tricky things like bytecode
rewriting are mostly used in static languages because they lack all we have
:) I mean, why not taking advantage of the dynamism of Smaltlalk and the
fact of having classes and methods as first-class objects is not enough ?
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
> receivers: 'SystemWindow+';
> selectors: 'position:';
> context: #(#receiver #arguments));
> advice: [:context |
> Transcript show: context receiver.
> Transcript show: ' moved to: '.
> Transcript show: context arguments; cr.];
> type: #after).
> asp install.
> 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