[bitc-dev] Retrospective: The Issues with Type Classes
fw at deneb.enyo.de
Wed Apr 11 10:39:26 PDT 2012
* Jonathan S. Shapiro:
> You can't point all you want, but it doesn't validate your argument. The
> existing open source ecosystem relies heavily on dynamic libraries, which
> means that source code is *not* known at compile time in general. This is a
> technical issue, not a political one. The use of closed vs. open source
> doesn't alter the conditions under which compilation occurs in any
> particular programming language.
And to be precise, we generally want to swap dynamic shared objects
with new versions, even in cases where this isn't guaranteed to be
completely safe. We absolutely cannot recompile all reverse
dependencies just because we added some safety check in some central
library. (Recompiling might even work, but updating all installations
in the field is clearly problematic.) This isn't just a question of
security support, release management at scale needs this, too.
On the other hand, it's probably not too prudent to worry about such
issues to early. I'm pretty sure that if I ever start a language
implementation from scratch, it will not support separate compilation
because it's too difficult considering the other goals I expect. And
proper IDE support needs some level of whole-program analysis anyway.
More information about the bitc-dev