Allen Wirfs-Brock <mailto:al...@wirfs-brock.com>
October 14, 2013 11:19 AM

You can dynamically change the superclass of a class but that will trigger the recompilation process for that class and its subclasses (implies that superclass to subclass links must be available). This is mostly about the instance variable (ie, private state) shape of the instances and methods that reference instance variable.

This is metaprogramming magic I never learned (my Smalltalk experience was brief: Byte mag, homebrew Pascal impl I never finished, then the real deal on Sun "pizza box" machines in '84 or so at UIUC -- slooooowwwww!). Any pointers welcome.

Good to see JS is no more dynamic than Smalltalk in this regard. Not sure we can standardize the recompilation process, or that we need to. We just need the implementors to take that hit, and they have already for prototype-chain updates (most VMs deoptimize horribly; some may poison the object for the rest of its life to be slow-path only; this could change under competitive pressure, but devs avoid slow paths).

Methods lookups are still dynamic which is the reason I think "nominal class types" a la Java or C# doesn't really apply.

Granted, Smalltalk is dynamically typed as noted (and <3ed by JS'ers everywhere :-).

/be

_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to