This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Guile, C, and Garbage Collection


Hi --

In the last release of G-Wrap, I added some code for providing a
generic link into the GC capabilities of Guile as part of the
(new-type ...) command which makes new Smob-types.  This is still
untested because I haven't needed this for my own work, but the
implementation is very straightforward and debuggable if it doesn't
work.

It should also be easy to port G-Wrap to other interpreters, so if you
are worried about relying specifically on Guile (i.e. verses not
wanting to rely on _any_ Scheme interpreter) for GC support, then it
might be helpful.

I should make another release of G-Wrap in the next couple of days.  I
have added a command (set-guile-module <lst>) which causes the
C-wrapper code to be generated to support making shared libraries
which can be dynamically linked to an existing interpreter---I have
found this very useful (except that it relies on the module system,
which I am not fond of).  I will also add support for passing (small)
structures as data rather than as pointers into C-functions, and
remove dependencies on Slib.

-Chris

>>>>> "Daniel" == Daniel R Risacher <risacher@worldnet.att.net> writes:

    Daniel> The work I've done so far has been on core C internals
    Daniel> where the cross links between data are minimal, but I'm
    Daniel> nearing the stage where I want to link the C strucures
    Daniel> together, and I'm trying to select the best design that is
    Daniel> compatible with Guile's gc mechanism, but not dependent on
    Daniel> it.