From: Jim Weirich Date: 2003-08-28T17:30:25+09:00 Subject: Re: Aspect oriented Everything? On Wed, 2003-08-27 at 12:53, Chris Morris wrote: > I think the AOP answer is that, given f1..f 16, you still have 16 places > to touch in case anything changes with > > helper do > end > > (like maybe helper in the future needs to now pass a var back in the > yield call: > > helper do |x| > end) > > A proper AOP solution would allow you to touch one spot and have it go > into effect in f1..f16, vs. having to touch all 16 spots. Hmmm ... this is a lot like the restriction with procedural abstractions. If you change the function signature, then you have to touch each of the calling sites. A question regarding this particular example (ie. adding |x|): If you have to add a parameter like this, wouldn't you have to touch the code in the do/end block anyways (to take advantage of the x parameter)? > Granted, your mixin should greatly reduce the chances of having to touch > f1..f16, but AOP (AFAIK) seeks to eliminate the need to ever touch f1..f16. I would really like someone to work up this example with aspectr so we could compare the results in more detail. Any takers? -- -- Jim Weirich jweirich@one.net http://onestepback.org ----------------------------------------------------------------- "Beware of bugs in the above code; I have only proved it correct, not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas)