On Fri, Jul 26, 2013 at 7:56 PM, Jonathan S. Shapiro <[email protected]>wrote:
> ...What I *am* hoping to do is to use compiler magic to reduce the > utilization of the GC heap so that GC pressure and/or total RAM > requirements are suitably reduced. > ...Understood. Let me rephrase my point. Using this magic is a necessary but not sufficient condition to achieve a practical typesafe GC-free capability. IMHO, in order to achieve a non-trivial program during which no-heap-based allocation can occur (a) module exports and run-time linking will need to make verifiable promises about lack of heap allocation so the compiler/runtime can know this, and (b) the language will need an explicit mechanism to disallow statements which cause heap-allocation, so programmers can have tools to prevent inadvertantly breaking the promises they intended to keep. The way I was trying to bring Rust into this (but failed), was to point out that I think the need for (b) is a bit of what caused them to (eronously) remove their GC -- because they wanted libraries to be built which did not require GC. Another alternative may have been to make a specific module directive required to use operations which require GC, and then encode those promises in exports to achieve (a). I understand what you think you are after. I don't think that runtime > design is viable for high-confidence systems. > I admit my personal acceptance (for now) of unmanaged code did confused my previous example,. I hope the above explanation is clearer and more relevant to a managed-only world.
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
