One more point. I am a proponent of dynamic languages. I want to use them where they make give most benefit and not let the complexity of that flexibility creep out to where it is harmful to flexibility (at the scalability of interoption layer). I will explain how...
> And I am also proposing that NekoVM should add support for interface > declarations on builtins. Then HLLs can scalably interopt, by exposing > their interfaces in common data type layer. I do not see how you can > possibly get scalable interoption without? Otherwise, either interfaces > are not used (and thus runtime exceptions complexity profileration and > interoption failure) or HLL need to write N^2 translation layers to each > others' higher level interface/types. http://lists.motion-twin.com/pipermail/neko/2010-January/002709.html I wrote: "Dynamic lovers might argue that enforced interfaces are a barbaric relic, but I don't see how one can possibly get scalable code without them? You could revert to check for interfaces dynamically, but then you proliferate exceptions. That eventually deadlocks composeability at some exponential rate of mashups." HLLs can expose the above proposed universal interfaces only for the external interfaces they wish to expose. One could continue to use dynamic code internally (i.e. internal to a closed projects, internal to external interface implementations). My point is that for large scalability, we must expose interoperable interfaces. And those interfaces should be founded on a common data types, and the sub-classing types should be done at the interface layer. Internal to our HLLs we may use all the sugar we want. So we don't lose anything. Isn't it all win-win? -- Neko : One VM to run them all (http://nekovm.org)
