Thank you, everyone, for sharing your ideas!!!

Personally, I like the non-indented shadowing more. Sure, the block-based 
approach gives you protection from abusing the feature, but it also forces you 
to put dependencies of the computation into a block. You, the programmer, 
should decide if you need a different scope to make your program more logical 
or safe. The compiler should not force you to have scope when all you want 
because the language authors think they know better than you ahead of time. 
Besides, even with the shadowing approach, you can always manually use a block 
if you want to. Choice is good, you don't paint yourself into a corner.

Regardless, the solutions you all came up with to the block approach were super 
interesting!

Now I am wondering- could the shadowing syntax be implemented with a macro? 
Likely not, correct?

Reply via email to