This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Pliant and ref counting


> >  IB> I guess I don't see what's more syntax-independent about Pliant
> >  IB> than Scheme.  The Scheme syntax is almost identicle to a parse
> >  IB> tree, the lowest common denominator of syntax.
> > 
> > I'm not claiming that it's any more syntax-independent, only that it
> > has a more advanced compiler/interpreter/type system.  It still lacks
> > a GC (although a GC may be unnecessary, since Pliant has convenient
> > refcounting).
> 
> Dewd, there is nothing convenient about ref counting.  I have been
> working with ObjC which uses ref counting and the word for the day is
> pain.  GC is a neccesity.

I am coming to the conclusion that garbage collection won't work for
large databases. At least, you can't garbage collect them often because
there is so much data in the system that collection time slows everything
down. I feel that maybe within the database I sould be reference counting
and then copy the data out to a garbage collection environment on the
outside of the database. I would prefer to avoid needless copying but
copying is fast compared to scanning the whole database.

The argument of ref counting against garbage collection is still largely
unsolved, and depends on the application.

As for convenience, it all depends on how the ref counting is hidden from
the user -- after all scheme is completely compatible with ref counting,
in theory the user should be able to use a garbage collected version or
a ref counted version in an identical fashion. The difficult side of things
is when you have a throw and catch system that can figure out which variables
fall out of scope and thus which references to update. I have yet to see
and elegant solution to that problem.

	- Tel