From: Christophe Grandsire Date: 2005-10-19T18:47:56+09:00 Subject: Re: [ANN] [RCR] Cut-based AOP Selon Trans : > This is to "officially" announce an RCR that I posted to RCR archive > two days ago. I realize the RCR itself is a bit dense and techincial, > so (with thanks to ES) I thought it might be a good idea to provide a > little summary and some examples of what it's all about and why it's a > such a good approach to AOP for Ruby. > I've just voted "strongly advocate" for it! After reading about AspectJ, I had found that although aspects where interesting, they looked like they broke OOP rather than enhanced it. This proposal, on the other hand, is strongly based on OOP and really enhances it, and also makes AOP much easier to understand than the traditional approach and its swarm of buzzwords. And it is nicely unintrusive, ensuring that if one doesn't want to bother about AOP one doesn't have to. I just have a few questions, which I hope aren't too dumb ( ;) ). I couldn't find anything in the RCR about those questions (although I may have missed it): - will one be able to subclass (are rather "subcut", one would say) cuts? - will cuts be as open as classes? (since they *are* classes, I'd expect so, but I just want confirmation) - how do cuts work with each other when you add more than one cut to the same class? - will the subclass of a class also inherit its superclass's cuts? This is a tricky point I think, as one might expect that the functionality provided by cuts should be available to subclasses, but the implementation (which is basically like transparent subclasses) may forbid it. If they don't inherit cuts, this could lead to surprises, with a not overriden method behaving suddenly differently in the superclass and in the subclass. And what should one expect of the behaviour of "super"? All in all, I find it one of the best RCR I've ever read! Keep up the good work! -- Christophe Grandsire. http://rainbow.conlang.free.fr It takes a straight mind to create a twisted conlang.