http://qs321.pair.com?node_id=725205


in reply to Re^7: Indirect variable name
in thread Indirect variable name

::MY might be what I tried to describe with %PAD stash, a dynamic symboltable for the current scope, making padwalker obsolete.

I personally believe that, as a side note, you may want to hyperlink to PadWalker by means of [mod://PadWalker], stressing incidentally that capitalization does matter.

And I think I can imagine what is meant lexical scoped packages, in perl 5 packages have no privacy at all, you can access them from everywhere. But if the packagename is scoped you may control it.

What a lexically scoped package is, after all, is clear and intuitive. But one point that perhaps I didn't stress enough is the following: if things are still like I claimed them to be, that is that lexical variables are implemented by means of a single magic package, then the latter must have a "slots" for... well, packages too, which sounded somewhat self-referential when I wrote my previous post. On a second thought, though, not just as much... More precisely, I don't see any issue with this circumstance any more. I don't know what I was thinking: anyway, before spending even the slightest braindrop on the subject, I'd like someone who knows better to pinpoint the key elements of it, which we just surfaced here.

--
If you can't understand the incipit, then please check the IPB Campaign.

Replies are listed 'Best First'.
Re^9: Indirect variable name
by LanX (Saint) on Nov 22, 2008 at 00:30 UTC
    > stressing incidentally that capitalization does matter.

    well thats because I'm overcompensating my German instincts to capitalize every noun ... ; )

    > I'd like someone who knows better to pinpoint the key elements of it, which we just surfaced here.

    I don't "know" better, but my intuition is to think of a namespace as of a symboltable realized as a hash of symbols and values*. And a hash may contain references of other hashes.

    when you said lexvars will be realized as kind of pkgvar, you actually meant both will consistently be organised in such symboltables.

    with "our" and "my" you just bind the var-symbols of the code within the actual scope to such a symboltable.

    you're declaring in which "hash" the value of a symbol "$x" should be hold.

    hashes can be nested and they can have lexical scope ...

    just my understanding...

    Cheers Rolf

    UPDATES:

    * "realized" in the sense of the logic but not necessarily implementation.