With the exception of any return statement in <statements here>, which should do a non-local return instead of returning from the block.
I just read an interesting post on why functions (or methods) are not blocks: http://yehudakatz.com/2012/01/10/javascript-needs-blocks/
best,
Johan
Even if you said that
at: key put: value
<statements here>
was equivalent to
[:self :key :value | <statements here>]
you'd still need to qualify that <statements here> has privileged
access to the interior of self. So the equivalent block is more like
[:self :key :value <insert all of the object's instvars> | <statements here>]
(modulo non-local returns, of course)
frank