Close review of Language Overview whitepaper

Brendan Eich brendan at
Thu Nov 15 09:58:29 PST 2007

On Nov 15, 2007, at 9:17 AM, Kris Zyp wrote:

> +1 from me. One request: When a filter function is provided to  
> JSON.parse, I would like the filter to be called with |this|  
> defined to be the root object that is being created by the parsed  
> JSON text. Having a reference to the created root object can be  
> useful for some forms of filters such as reference resolvers.

Interesting -- a short example would help sell this, I bet.

> The problem in general is that Bob's classes and Alice's classes  
> were written without anticipating Carol's combination of the two,  
> but Carol cannot use MI. Nor can she provide objects that match  
> structural types. She has to inherit from both Bob's and Alice's  
> classes.
> Was multiple inheritance discussed for inclusion in ES4? I am aware  
> of the general arguments against it, but I was wondering if had  
> been considered or if there are technical aspects of ES4 that  
> preclude it.

We passed over MI without any regrets, for the general reasons you  
give. Also, even with MI, classes are not as flexible as structural  
types, as I've pointed out. They're different beasts, with different  
as well as some overlapping use-cases from structural types.

> Does this clear things up?
> Yes, that certainly helps me to understand the rationale. Thanks  
> for being so willing to answer questions about ES4 issues.

No problem.


More information about the Es4-discuss mailing list