> And unfortunately dies a horrible death for
languages
> that don't categorize the same way as perl. :( As
> well as being really inconvenient for those
variables
> that can express multiple classes of behaviours
> simultaneously.
>
> This one, alas, I'm going to shoot down.
> - Dan

OK, I'm going to chime in and say what makes the most
sense to me, coming from a Ruby background.

Each namespace should have a lowest-common-denominator
set of values in it. These are not specified to be
functions, namespaces, or whatever. They're just
pointers to values. When you do cross-language

   foo::bar

this is what you get. Your language can feel free
to de-reference the value and convert it to another
type or stuff it into a fancy variable PMC, if it
wants.

Now, what we need is for each namespace to also have a
second set of values. These could accomodate your $foo
@foo &foo, etc with sigils, or whatever method your
language chooses to munge names. Though it might be
good to standardize that method ("namespace/foo",
"scalar/bar"), it's not necessary. Then you have two
opcodes:

  get_namespaced ["foo","bar"]
  get_namespaced_exact ["::foo","$bar"]

which use the LCD and separated namespaces,
respectively. You might need to mix-and-match:

  foo = get_namespaced ["foo"]
  bar = get_namespaced_exact foo, ["$bar"]


                
_______________________________
Do you Yahoo!?
Declare Yourself - Register online to vote today!
http://vote.yahoo.com

Reply via email to