in reply to Re^3: Qualified package variable access ( s/lexical/private/ )
in thread Qualified package variable access
But I rather think of something like "private to the scope" is more correct.
And I doubt that the explanation of term "lexical" is ever properly explained or even intuitive.
according to Merriam Webster
Definition of lexical1 : of or relating to words or the vocabulary of a language as distinguished from its grammar and construction Our language has many lexical borrowings from other languages.
2 : of or relating to a lexicon or to lexicography lexical methods aim to list all the relevant forms— A. F. Parker-Rhodes
But that's not the meaning, IMHO did Larry just adopt it from Lisp.°
There it's called "lexical" in the meaning of "like you read it".
perlglossary also mentions "static scoping" in contrast to "dynamic scoping", but the explanation is still confusing
lexical analysis Fancy term for tokenizing.
lexical scoping Looking at your Oxford English Dictionary through a microscope. (Also known as static scoping, because dictionaries don’t change very fast.) Similarly, looking at variables stored in a private dictionary (namespace) for each scope, which are visible only from their point of declaration down to the end of the lexical scope in which they are declared. —Syn. static scoping. —Ant. dynamic scoping.
lexical variable A variable subject to lexical scoping, declared by my. Often just called a “lexical”. (The our declaration declares a lexically scoped name for a global variable, which is not itself a lexical variable.)
But all of this describes only the "scoping" not the nature of my variables - which are hold "in a private dictionary (namespace) for each scope" - sic!
Maybe clearer from another perspective: local is a way to implement "dynamic scoping", but we wouldn't start calling package vars "dynamic variables", right?
Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery
°) see CommonLISP#lexical_scope
|
|---|