3 ms·
@mitsuhiko Not gonna happen ;) Forbidding shadowing altogether is a huge win, and a huge conceptual simplification. Poppycock. It doesn't get simpler than a
by whateverer 15y ago
@mitsuhiko Not gonna happen ;) Forbidding shadowing altogether is a huge win, and a huge conceptual simplification.
Poppycock. It doesn't get simpler than
a. newly bound variables are new
b. any variable which wasn't bound in the present scope must be bound in a enclosing scope.
If your language makes it much more complicated than First Order Logic (http://cnx.org/content/m12081/latest/ http://cnx.org/content/m12081/latest/), you're doing it wrong.
Of course, it's kind of socially acceptable to get wrong because a lot of language designers didn't think it through and used the same operator for both binding and reassigning a variable (i.e. '=').