On Mon, Apr 9, 2012 at 11:44 AM, David Jeske <[email protected]> wrote:
> This problem space is not about header files. This is about the > unknowability of runtime field-offsets in a subtype capable system with > module upgradability. It's the C++ fragile-base-class problem, plus a bunch > more. > ... and on steroids. :-) But that part is pretty solvable. The *real* problem is the interaction between late binding of types, type-driven method resolution, and inlining. > If you use our typical model for single-inheritence subtyping (subclasses) > across module boundaries, then to achieve any form of forward > upgradability, you must do runtime field resolution (either slowly, or > through JIT). > What you are trying to say is that you have to deal with the consequences of [very] late binding. I agree with that. There are other approaches in addition to the two that you mention here. However, this is only the tip of the iceberg. The entire space of > typing/subtyping/parametrics/garbage-collection/JIT is all deeply > inter-related. It isn't a situation where you "pick your language features" > then "design your modular compilation system", some of these features are > actually making it difficult if not impossible to support modular forward > compatible separate compilation units. > I strongly agree with this. shap
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
