>>>>> On Sun, 11 Mar 2001 04:48:19 +0900,
>>>>> Dave Thomas <Dave / PragmaticProgrammer.com> (dt) writes:

dt> an attribute of the block? For now, ignore the notation and consider
dt> the idea :)

Interesting idea.  Not so keen on the syntax.

dt> '{{' introduces a block with local scope. No changes to variables or
dt> parameters inside the block are visible outside. If a variable inside
dt> the block has the same name as an existing local, it is initialized to 
dt> that local's value, but is otherwise independent.

dt>   n = 123
dt>   3.times {{
dt>     puts n
dt>     n += 2
dt>   }}

What about using do?  Would that be:

n = 123
3.times dodo
  puts n 
  n += 2 
endend

;-)

What if a new special keyword--like do--that was created to
represent a block with this particular characteristic?

Or maybe an argument to Proc.new that would indicate the kind of
locality that you describe?

-- 
Amos