This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: interface reductions
- To: Dirk Herrmann <dirk at ida dot ing dot tu-bs dot de>
- Subject: Re: interface reductions
- From: Mikael Djurfeldt <mdj at mdj dot nada dot kth dot se>
- Date: 31 May 2000 11:38:46 +0200
- Cc: Marius Vollmer <mvo at zagadka dot ping dot de>, Guile Mailing List <guile at sourceware dot cygnus dot com>
- Cc: djurfeldt at nada dot kth dot se
Dirk Herrmann <dirk@ida.ing.tu-bs.de> writes:
> On 30 May 2000, Marius Vollmer wrote:
>
> > Dirk Herrmann <dirk@ida.ing.tu-bs.de> writes:
> >
> > > For example: Fluids can't currently be garbage collected, just because
> > > users might store the integer reference to it instead of a SCM value. So,
> > > I can easily break guile by creating lots of fluids and not use them any
> > > longer: They live forever even without references. That's bad.
> >
> > Yes, that's a good point. I can't argue against that. So feel free
> > to make any necessary changes.
>
> The proposed change is shown as a patch below. It basically deprecates
> SCM_FLUID_NUM, SCM_FAST_FLUID_REF and SCM_FAST_FLUID_SET_X, and provides
> as a replacement for these the macros SCM_FLUID_DATA and
> SCM_SET_FLUID_DATA. If there are suggestions for better names, I'd be
> happy to hear them. Otherwise I am going to apply that patch.
One of the sub-tasks for the POSIX threads effort is
*** Removing the dynamic roots
This means that we *will* have a set of permanently allocated fluids.
Another one is
*** Revise the fluid implementation
Trying to use the thread library's support for thread local data
(get/setspecific).
Before this is done, I can *imagine* that an operation such as
SCM_FAST_FLUID_REF could be needed, but I wouldn't know until after
the above changes. To extract the key from a fluid object which can
be collected and then using that key in SCM_FAST_FLUID_REF doesn't
sound like a good idea, however.