new instantiation design alternatives

Claude Pache claude.pache at
Wed Sep 17 07:29:05 PDT 2014

Le 11 sept. 2014 à 18:35, Allen Wirfs-Brock <allen at> a écrit :

> 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.
> with implicit super construct if no local allocation
> 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. 

The following is probably apparent from the present thread, but I think it should be stated clearly.

A big problem with those proposals, is that they add a semantic change, namely implicit super-constructor calls aka the automatic allocation feature, which is neither part of the currently specced design (the one with @@create), nor contributes to solve the particular problem that lead to the redesign (observability of allocated but uninitialised built-ins/DOM objects), nor (unless I missed something) is properly justified in the Gists. 

Those implicit super-constructor calls might make sense, but they also introduce traps (e.g., spurious super calls in case of incorrect use, as found in Section "Some AntiPatterms" [sic] of the Gists), and need therefore be carefully considered before being introduced.

My advice is to modify the proposal, removing entirely that novel feature (as Domenic said: if `this = ...` is absent, just do an implicit `this = Object.create(new^.prototype)`), and focusing to tackle only the issue that was intended to be solved. It would remove much distraction in the discussion.

One may propose an additional implicit-super-call feature, if it solves a particular issue. Or propose a new design where such a feature plays a central role in resolving the original issue. But it should be justified and discussed separately to avoid confusion.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list