On Tue, Jul 30, 2013 at 4:44 PM, David Jeske <dav...@gmail.com> wrote:

> Thanks. That's useful to see the source of legacy terminology, but that
> system does not support GC collection of objects in dynamic-regions. All
> objects allocated into a region live until that region goes out of scope.
> This is why their concept of returning refs is so simple. As long as the
> region stays in scope, everything in the region stays in scope.
>

Agreed. And in it's turn that is why their region parameters work. Though I
think that their system could easily be extended to support region GC.
Mostly because they keep the restriction that older regions cannot point
into younger ones, which significantly reduces the live set.


> I also don't like the last-in-first out discipline, since it seriously
> limits what regions can do (as I mentioned in my practical examples).
>

Understood. But that's one of the *defining* characteristics of regions. In
order to type them sensibly, you need a region subtyping relation. LIFO
order ensures that.


> I guess this is why I like thinking of "lifetimes" as an independent
> feature, because I would like it solved for generalized GC-able objects
> whether or not regions are implemented. Perhaps this is just a linguistic
> difference, since we could call value-type box a region. Seems like a
> terminology mismatch to me though.
>

It's not just a lexicon difference. The kind of generalized lifetimes you
seem to be describing don't satisfy the subtype relation that is necessary
for region inference.


shap
_______________________________________________
bitc-dev mailing list
bitc-dev@coyotos.org
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to