>>>>> "DT" == Dave Thomas <Dave / PragmaticProgrammer.com> writes:
DT> In
DT> {{ |a,b|
DT> e = 1
DT> }}
DT> they know that _every_ variable is local to the block.
DT> I understand that this may be complex in terms of implementation, but
DT> it seems fairly simple from the outside.
DT> Naively,
DT> Dave
I respectfully disagree with the concept of "pure local" block {{..}}.
I do like the Ruby's behavior when from within a block one can override existing
local variables. It comes handy in 80% of the cases. But for the other 20%,
I would like to have a mechanism like Scheme (let (...) ...) to shadow some
selected variables from being overriden.
If I understand you correctly, your proposed new block {{..}} shadows _ALL_
local variables inside it while conventional Ruby's block {...} shadows _NONE_.
What I really need is the construct when _SOME_ locals are shadowed while the
rest are not.
--Leo