This is the mail archive of the
mailing list for the Kawa project.
Re: Serializing closures
- To: balaban ittai <ittaib at cs dot bgu dot ac dot il>
- Subject: Re: Serializing closures
- From: Per Bothner <per at bothner dot com>
- Date: 17 Apr 2000 20:08:55 -0700
- Cc: Kawa Mailing List <kawa at sourceware dot cygnus dot com>
- References: <Pine.SGI.3.95-heb-2.07.1000418035045.224822B-100000@claret>
balaban ittai <email@example.com> writes:
> Ok. I think I got things sorted out. It turns out that the biggest problem
> in serializing Scheme stuff was that I some of the code was being
> interpreted and wasn't precompiled. This caused the whole Kawa package to
> be serialized along with my stuff.
Even if the code isn't being pre-compiled, it does get compiled
dynamically, except for really trivial Expressions that should
not need to be serialized. I.e. anytime you have a let or a lambda
in your code, it gets compiled.
So I still don't understand why "the whole Kawa package" would be
serialized. It certainly seems like a bad thing to happen ...
> So basically, to make things serialize I had to change a bunch of class
> declarations to make them implement java.io.Serializable. Also, I had to
> add a few public no-arg constructors to some classes in gnu.bytecode. I'd
> like to know if this stuff can go in the distribution.
You send my patches (diff -c or better diff -u), plus ChangeLog
snippets summarizing your changes. Independent changes should be
sent as separate emails.
But if class in gnu.bytecode or gnu.expr need to be Serializable,
I want to know why. I could see some gnu.bytecode.Field needing
to be Serialized, because of the record feature.