I like this. Cc'ing Dave and Sam to get to top of their queues.
/be
Kevin Smith wrote:
- Anarchy is not appropriate when the number of names which must be
*simultaneously distinguishable* passes some threshold. The longer
the names, the higher that threshold will be. In this case, the set
of names which must be simultaneously distinguishable is the set of
property names used within some loosely-defined runtime context.
Because we only need to worry about the set of property names used
within a runtime context, and not the complete universe of property
names, we might be able get away with anarchy, so long as we choose
sufficiently long property names. One possibility:
class C {
"sys/iterator"() { }
"foo/userDefined"() { }
}
In the future, syntactic sugar could be added for declaring lexically
bound property name aliases. One possibility:
alias { "sys/iterator" as iterator, "foo/userDefined" as
userDefined };
class C {
iterator() { }
userDefined() { }
}
Note that this approach allows multiple modules to recognize the same
"strong" property name without requiring a dependency on a common
module. In other words, modules can coordinate on strong property
names without needing to be connected.
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss