This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: generational GC
MD> SCM_VELT (v, i)
MD> SCM_SET_VELT (v, i, x)
MD> SCM_GEN_SET_VELT (v, i, x)
MD> Two points, though:
MD> 2. Perhaps (in order to make the API simpler for the simple-minded)
MD> set *with* write barrier should be the default:
I belong to the simple-minded and assume that I should use the gh_
interface for these things. There is sufficient support thanks to
gh_vector_set and gh_vector_ref. As far as I am concerned, you Guile
heavy-duty guys can abuse the SCM_ interface all you want :-). It
seems reasonable to me to say that gh_ provides a GC safe API, while
you have to tinker and think for yourself to make GC work if you use
SCM_.
However, I do not see (probably because I have not looked into
generational GC yet) how there can be a compromise. Either your code
is GC safe or not, and in the latter case you will be bitten sooner or
later, no? Sorry for being naive!
Lars
--
Lars Arvestad Stockholm Bioinformatics Center
Stockholm University, Karolinska Institute & Royal Institute of Technology