incubator-lucy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marvin Humphrey <>
Subject Re: Reference counting inside a GC host (was "real time updates")
Date Sat, 28 Mar 2009 22:55:38 GMT
On Fri, Mar 27, 2009 at 08:23:45AM -0400, Michael McCandless wrote:

> since Lucy will use reference counting, how will you deal with cycles?

I don't think we should do anything about them.  It will be up to the user to
avoid them.

There *are* limits to my ambitions for the Lucy object model.  :)

> since the host language is involved, a cycle could easily reach out to the
> host language and wrap back around into Lucy?

Possible.  I doubt it will be much of a problem for programmers accustomed to
working within a refcounted environment.  

Programmers who normally work within a tracing GC environment may be more
prone to create reference cycles, because they're not trained to avoid
cyclical data structures and alarms might not go off in their heads when they
see them.

But what are our options?  Our class hierarchy is sophisticated and large
enough that we have to use either tracing GC or refcounting.  Writing our own
tracing GC, now *that* would be ambitious. ;)  And though I haven't studied
cycle detection, I imagine it has to be both involved and costly.

Marvin Humphrey

View raw message