From: Greg Colvin (gcolvin_at_[hidden])
Date: 2001-05-29 21:23:23
From: John Max Skaller <skaller_at_[hidden]>
> Greg Colvin wrote:
> > To be more specific, it is a garbage collecting
> > smart pointer whose value I am questioning. I'm
> > too close to the work to judge it's value.
> Of couse. That's why it needs to be put
> into production. Let me say I'm quite tempted
> to ditch Felix GC in favour of it (because it
> doesn't need shape objects).
Happy to be of assistance. I'll note that the self-assignment
hack could probably be used to create shape objects of some
sort, which might speed up the recursive mark-sweep. This is
the kind of fine-tuning that distinguishes a proof-of-concept
from production code.
> > If something like cyclic_ptr can make someone's job
> > easier then I am glad, but in my own work I have
> > mostly done well enough with a careful discipline
> > of ownership and occasional reference counting.
> Felix is a programming language for C++
> programmers which is designed to provide high
> level features and simplicity missing in C++,
> while still leveraging and interfacing with
> existing C++ codes, particularly class types.
A worthy goal.
> One of the features it provides is
> that functions and procedures are first class,
> like in Scheme and other functional languages.
> There is no way that this can be done with
> just reference counting: the cycles that are
> generated are intrinsic.
Yes, that is just the sort of problem that requires garbage
collection. For better or worse, it is the rare programmer
who sets out to write a language.
> The task here isn't manually crafting
> a memory management solution for a particular
> problem, but crafting one for a whole class
> of problems expressed as Felix programs.
> If you know a solution _other_ than a garbage
> collector of some kind, I'd sure like to know.
Regions come to mind.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk