>>>>> "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