Hacker News new | ask | show | jobs
by antonvs 498 days ago
It’s been a feature in languages for at least half a century. Scheme’s lexical scoping supported it in 1975, and Lisp adopted that.
1 comments

Yeah, it's a feature of a language, doesn't mean we are forced to use it.
You asked when it became a feature. I answered that.

But your antipathy towards the feature is misplaced. Several languages with the most rigorous foundations support shadowing: SML, Ocaml, Haskell, Scheme,

You're probably more familiar with languages that have unrestricted mutation, in which case something much worse than shadowing is allowed: changing the value of an existing variable.