Last week when I wrote "everything is an exception" this is what
I was talking about.


Nathan Torkington wrote:

> This raises another issue, though:
> 
> You'd obviously want to have a module that collected together your
> favourite new operators.  But if they were lexically scoped, they'd
> be lexically scoped to the module they were defined in, i.e. your
> collection rather than your main program.  We're going to have to
> think of a way to consistently say "do this in my caller's lexical
> scope" without it becoming a nasty upvar hell.
> 
> Nat



If we use exceptions of some kind to handle
syntax, encountering an exception of type "unknown-keyword:Cmp" could
result in the subroutine definition getting run to clarify this piece
of code.

With lexically scoped C<catch> you could put a short declaration
like C<use syntax standard> at the top level of your package, which would
include a list of what words fall through to the default provided "core"
definitions, and anything else would not get outside of that block to find
clarifications for itself.

This would effectively prevent the sort of global collision you are talking
about, and would also allow creation of arbitrary module visibility scoping
and versioning schemes.



-- 
                          David Nicol 816.235.1187 [EMAIL PROTECTED]
                       safety first: Republicans for Nader in 2000

Reply via email to