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.


Jim Blandy <jimb@red-bean.com> writes:

> > OTOH, the problem is probably not serious, since frozen modules have
> > to have an init function anyway, to register the functions they
> > provide.
> 
> Exactly.

Hmmm...  Now that I think about it, the problem *is* serious.
Consider this:

<code>
(define thingie (make-my-smob-wrapper 'arg))

(define what-became-of-thingie (mangle thingie))

....
</code>

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.  So you have to
calculate `thingie' and `what-became-of-thingie' everytime you load
it, instead of just binding the pre-evaled values.

> > BTW is there any "static" (oops :) way to register functions, at
> > least theoretically?
> 
> Not at present.  Maybe in the future.

Mind telling how?  Or where can I read about this?  Just academically
curious.

mike.