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

Reply via email to