在 2006/7/6 上午 3:30 時,Allison Randal 寫到:

Quick question, is there a syntax specified in Perl 6 for referring to namespaces from other languages?

I'm reviewing the namespaces PDD and want to update this snippet:
------
IMPLEMENTATION EXAMPLES: Suppose a Perl program were to import some Tcl module with an import pattern of ``c*'' -- something that might be expressed in Perl 6 as use tcl:Some::Module 'c*'. This operation would import all the commands that start with 'c' from the given Tcl namespace into the current Perl namespace. This is so because, regardless of whether 'c*' is a Perl 6 style export pattern, it is a valid Tcl export pattern.

{XXX - Is the ':' for HLL approved or just proposed? Somebody familiar with Perl 6 please fix the example in the preceding paragraph to use the currently planned syntax for importing modules from other languages.}
------

The : form is approved and canonical (line 303, the Modules spec, aka S11.pm version 14).

    use perl5:DBI;

However, currently it's only available at use/require line. Afterwards, the user simply say:

    my $dbh = DBI.connect(...);

Though I think this:

    my $dbh = perl5:DBI.connect(...)

can be made to work, as it's currently parsefail, thought there is a marginal case:

    my $dbh = perl5:DBI; # currently parsed as perl5(:DBI)

but we can say that for each HLL-qualified module name, it's a single token and is therefore recognized first.

Does that sound sane?  If yes, S11 can be updated to reflect that.

Thanks,
Audrey

Attachment: PGP.sig
Description: This is a digitally signed message part

Reply via email to