Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^4: Qualified package variable access ( s/lexical/private/ )

by LanX (Saint)
on Dec 18, 2020 at 17:58 UTC ( [id://11125421]=note: print w/replies, xml ) Need Help??


in reply to Re^3: Qualified package variable access ( s/lexical/private/ )
in thread Qualified package variable access

I'm aware of all of this, except the Java part.

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 lexical

1 : 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

from perlglossary#lexical...

  • 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

    • Comment on Re^4: Qualified package variable access ( s/lexical/private/ )

    Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Domain Nodelet?
    Node Status?
    node history
    Node Type: note [id://11125421]
    help
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this?Last hourOther CB clients
    Other Users?
    Others having an uproarious good time at the Monastery: (7)
    As of 2024-04-16 07:40 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      No recent polls found