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

Reply via email to