Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^2: Namespaces contiguous in the entirety

by rir (Vicar)
on Sep 28, 2005 at 13:47 UTC ( [id://495737]=note: print w/replies, xml ) Need Help??


in reply to Re: Namespaces contiguous in the entirety
in thread Namespaces contiguous in the entirety

That is one way to look at it. I think it is more accurate to view it this way:
  1. The first package specific_name statement creates a namespace and enters it.
  2. Subsequent invocations simply reenter the namespace.
Having had the challenge of trying to explain the difference between C declarations and definitions to newbies; I can see how losing the distinction in dwimery would appeal as design choice for a higher level language.

My reply above to tanktalus gives more of my reason to view it this way.

Be well,
rir

Replies are listed 'Best First'.
Re^3: Namespaces contiguous in the entirety
by broquaint (Abbot) on Sep 28, 2005 at 15:32 UTC
    1. The first package specific_name statement creates a namespace and enters it.
    2. Subsequent invocations simply reenter the namespace.
    While you may view that as conceptually accurate, that is not really what happens, hence my confusion above. I don't think I've ever come across this being an issue, not least because I would imagine that if you called code on a class you thought had declared, when in fact you had redeclared an existing class, something would break rather loudly.

    I can't think of any obvious way to do this within perl, but as you say, it would probably fairly simple just to hack the perl source and recompile.

    HTH

    _________
    broquaint

      The obvious way is to examine all the COP nodes in the compiled program and see that packages don't appear in multiple files. This is test should fit inside of a few lines.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (2)
As of 2024-04-26 01:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found