On Dec 4, 2005, at 5:57, Matt Diephouse wrote:
Roger Browne <[EMAIL PROTECTED]> wrote:
Leopold Toetsch wrote:
add_sub($S0, $P0)
add_namespace($S0, $P0)
add_var($S0, $P0)
Which HLLs would use these interfaces?
Maybe I'm missing the point, but I see these being used in the
implementation of "import_into" as a way for the source HLL to tell
the
target HLL whether to treat each name as a sub, namespace, variable or
method.
Yes, that's correct.
And it doesn't answer my question at all, sorry. Which HLLs are able to
divide their symbols into above categories? Further: as this proposals
deals with the managment of namespaces, a special typed interface for a
'namespace' symbol name seems not to be necessary, because if it
weren't evident, where a namespace is used, we couldn't deal with
namespaces at all.
The current implementation disambiguates namespace names from symbol
names by prepending a '\0' char to the former. Therefore it's always
clear if a namespace or a 'variable' symbol is used.
Remaining for me is the distiction between a variable and a function
symbol:
- python: no (all names are just names)
- tcl: afaik no (all names are strings)
- perl5: sometimes (via sigil, but $ref_tosub)
- perl6: maybe (sigil is part of the symbol name, but $ref)
- ???
To make use of this distinction (var, function) we'd need a pair of
such languages, one that can do a typed export, and one that can do a
typed import of symbols.
What am I missing?
leo