On Oct 21, 2011, at 19:08, Axel Rauschmayer wrote:

>> Also, in general this sort of well known private method name hook is much 
>> more extensible than "internal method" as currently used in the es spec. 
>> They also avoid the need to polute the Proxy API
> 
> Reified names (private or otherwise) are a very powerful mechanism. I’m not 
> aware of another programming language that does this (possibly Common Lisp 
> with its symbols, but I don’t know enough about them). It’s good to have 
> them, because they increase JavaScript’s expressiveness.

Common Lisp symbols are definitely reified names. Since all textual source code 
passes through the reader, which performs symbol lookup, nearly every 
name-of-a-thing is a symbol. Uninterned symbols - those not found in any symbol 
table (package) - are fully usable as names for things but cannot be retrieved 
starting from only textual information.

However, there is no guarantee that something with an uninterned name cannot be 
found by other means, so uninterned symbols do not form a security mechanism. 
They are primarily used for non-conflicting names in generated code.

-- 
Kevin Reid                                  <http://switchb.org/kpreid/>

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to