Boost logo

Boost :

From: David B. Held (dheld_at_[hidden])
Date: 2003-01-21 15:32:07


"Larry Evans" <jcampbell3_at_[hidden]> wrote in message
news:3E2DB145.70504_at_prodigy.net...
> [...]
> How does a pattern description something like:
>
> Participants:
> descriptor_of_singleton
> - descriptor*
> descriptor for subject_start
> - subject_start*
> start of subject currently being "described"
> descriptor_of<Subject>
> - sets above singleton pointers to descriptor for Subject
> and start of dummy Subject before constructing Subject.
> prox_record_scalar
> - IF subject_start, then records offsets from it.
> prox_record_container
> - IF subject_start, then record iterator maker for that
> container

Well, to be honest, this is all Greek to me. ;> I suspect that there
are only a handful of people in the world that have actually
*implemented* GC, which implies that most of the rest of us are
not domain experts. ;) Your best bet is to write a brief tutorial on
the implementation issues. We already know what GC is in
general.

What I would need to see in order to make any non-trivial comments
on your work would be the following:

1] High-level description of what flavor of GC you are working on,
meaning, tell us when and how objects get collected, and how the
GC system knows about them.

2] Complete but minimal examples of using your GC pointers, with
a brief discussion of lifetimes as compared to more familiar ref-
counted pointers.

3] Brief overview of benefits and drawbacks to using the GC
pointers, including when they are most appropriate, when they are
least appropriate, and why you would want to use a GC pointer
instead of a ref-counted pointer for a given situation.

4] More detailed description of your implementation, and why
you chose it. That means touch on alternative implementations
that have been tried, and why you did not choose those.

I realize that some of this information can be gained by reading
the literature. In some places, it may simply be most appropriate
to put a reference to the literature in your docs. However, by
putting all the relevant information in one place, it is possible for
those of us with less experience to look at your work and have
some idea of what's going on.

Boost certainly has a large number of domain experts, and
people with experience in a lot of different areas. But GC just
isn't something most people implement, and tends to not be a
popular concept in C++ in general, so I think you have to work
harder to educate the community than you would with another
project.

Dave


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk