This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: interface reductions
Mikael Djurfeldt <mdj@mdj.nada.kth.se> writes:
> > SCM_FAST_FLUID_REF --> scm_fluid_ref
> > SCM_FAST_FLUID_SET_X --> scm_fluid_set_x
>
> Those look like they have some special reason for their existence.
> Always before removing things, we should find the ChangeLog entry
> where they were added---that may give a clue.
>
> Let me check if I can find the reason.
These were provided from the start. As explained in the commentary in
fluids.h, the purpose is to provide a fast fluid access method. This
is also reflected in the names.
Q: Why would you need fast access to fluids?
A: The aim is of course that *all* thread-local SCM-type state
information in Guile should be represented by fluids. Currently
time-critical such information is stored in the root state, but
we plan to remove the root state. Then SCM_FAST_FLUID_REF will
probably be needed.
My guess is that the original motivation for providing them was to
encourage people to use fluids instead of adding things to the root
state.
I don't think these macros restricts the implementation of fluids. I
think they are pretty OK.