On Wed, 2003-08-27 at 12:30, Ben Giddings wrote: > Instead of "... non-factorizable code specific to f1", just yield to the > block given to the function. This is exactly the solution I was thinking of! A friend of mine is really interested in AOP (from a Java perspective). He and I have been discussing AOP in strongly dynamic language like Ruby. I suspect (without proof) that the need for AOP in a Ruby-like language is greatly reduced because of ... (1) Powerful abstraction tools like blocks (2) Simple and easy to use reflection that lets us do almost-AOP like stuff fairly easily in an ad-hoc manner. As evidence, I generally point out that aspectr is only about 250 lines of code, so AOP can't be *that* hard in Ruby. I'm reserving judgement on this, but I would like to hear other's thoughts. -- -- 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)