Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

[S10] fix thinkos and bad writing

git-svn-id: http://svn.pugscode.org/pugs@31377 c213334d-75ef-0310-aa23-eaa082d1ae64
  • Loading branch information...
commit c010170b07968b3deef703b68b6d69b64797c48d 1 parent 9fc187b
lwall authored
Showing with 13 additions and 12 deletions.
  1. +13 −12 S10-packages.pod
View
25 S10-packages.pod
@@ -227,18 +227,19 @@ First, presuming you have a C<CANDO> that adds to your current package,
you can simply call a newly-minted subroutine explicitly via the
current package:
- OUR::"$somename"();
-
-This bypasses the lexical namespaces entirely. Alternately, we can set up a
-mechanism whereby, if you import or define a C<CANDO> into a given lexical
-scope, all calls from within that scope register a failover that adds the
-current package to the list of places to look for subroutines (or, obviously,
-call the C<CANDO> as a last resort after that). This is no performance
-impact on existing lexically scoped definitions, including those from C<CORE>.
-It does require that failures to find a function name be reported at run-time
-rather than compile time. The package's routine names are also shadowed by
-all names defined in your outer lexical scopes, including C<CORE>. If this
-is a problem, use the direct C<OUR> call above.
+ OUR::($somename)();
+
+This bypasses the lexical namespaces entirely. Alternately, we can set
+up a mechanism whereby, if you import or define a C<CANDO> into a given
+lexical scope, all calls from within that scope register a failover that
+adds the current package to the list of places to look for subroutines (or,
+obviously, call the C<CANDO> as a last resort after that). There is no
+performance impact on existing lexically scoped definitions, including those
+from C<CORE>. This approach does require that failure to find a function name
+cannot be reported at compile time, but must be delayed till run time instead.
+Another potential disadvantage is that the package's symbols are also shadowed
+by all symbols defined in your outer lexical scopes, including C<CORE>.
+If this is a problem, use the direct C<OUR> call above.
Another way to look at it is that a lexical C<CANDO> adds itself to
the end of the function dispatcher's search, but sets up the current
Please sign in to comment.
Something went wrong with that request. Please try again.