new instantiation design alternatives

Allen Wirfs-Brock allen at wirfs-brock.com
Thu Sep 11 09:35:56 PDT 2014


At the last TC39 meeting ( https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-07/jul-30.md#44-instantiation-reform-review-create-design-rationale-and-possible-alternatives and https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-07/jul-31.md#44-follow-up-instantiation-reform-create ) we agreed to a general direction to try for a new object instantiation design to replace @@create. 

Since then I have gotten feedback and had design discussions with a number of individuals. This has lead to a number of refinements of the core design and one remaining point where there are strong contrary positions. The point of contention is about whether or not a subclass construction ever implicitly calls its superclass constructor.

https://gist.github.com/allenwb/291035fbf910eab8e9a6  summaries the  main syntactic changes since the meeting and provides rationales them. These features are common  to both alternates.  this is a good place to start, after reading the meeting notes. 

I have prepared two longer Gists that outline the two alternatives designs, presents design rationales,  and provides usage examples for a number of likely use cases. Note that  there is more commonalities then differences among the two alternatives.  the syntactic choices and semantics of [[Construct]] are the same for both. 

These two Gist have parallel construction for easy comparison. I suggest approaching this is by first readying through one of the Gists and then doing a side by side read through of the alternative to see the differences in the designs and usage.

https://gist.github.com/allenwb/5160d109e33db8253b62 with implicit super construct if no local allocation
https://gist.github.com/allenwb/53927e46b31564168a1d explicit super construct required if no local allocation

I appreciate it if major constructive feedback on any of these documents were made via Gist comments. 

Allen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20140911/05d3b2c1/attachment.html>


More information about the es-discuss mailing list