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: structs, records, SMOBs etc.


mike@olan.com (Michael N. Livshin) writes:

> Suppose you want to evaluate it and then freeze the heap.  You can't,
> unless you can guarantee that the SMOB tag of `thingie''s type will be
> exactly the same when you load the frozen heap.

Hmm, I think the problem with freezing smobs is deeper.  Smobs usually
have a direct and very specific connection to C code.  The freezer
knows nothing about this C code.  It doesn't know where the type tag
is stored, for instance, and more seriously, it has no idea about the
things that hang off a smob.  For example, guile-gtk uses smobs for
GtkWidgets (and other stuff).  Freezing a smob that represents a
GtkWidget means freezing the GtkWidget itself.  I see no way how we
can do that.

I can imagine that freezing is useful for source code, or better yet,
memoized source code.  But not much else.