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)