Simon,

I wish you well and will be eager to hear progress reports.  Long ago, I looked 
at ReferenceStream (or maybe SmartReferenceStream), and did not like what I 
found.  IIRC, the output for simple examples was much larger (of course, it 
might not continue to scale so unfavorably) compared that that produced by 
Dolphin's binary filer.  Another concern was schema changes.

Dolphin has an orderly conversion process that will raise an error if it is not 
prepared for what it finds; Squeak seemed to want to fix it itself with the aid 
of the user (not gonna fly in an end-user app or a server process, which is 
pretty much everything).

Dolphin locates conversion methods in the class of the object being converted 
or in the class of a proxy for it (that sounded scary to me when I read about 
it, but it is exactly what one would want in practice).  In contrast, Squeak 
puts the conversion methods in ReferenceStream.  Yuk!!!  Sorry, don't know what 
just came over me :)  Of course one can always modify ReferenceStream[*], but 
imagine the chaos if ReferenceStream were to become widely used.

I have used serializers to good effect and would like to continue doing so.  At 
the moment, I would look again, but would lean away from ReferenceStream.  SIXX 
(an XML serializer) is a possibility.  As I recall, its output was not terse 
(but might compress nicely??).  There originally was minimal to no support for 
shape changes, but that has been addressed; I cannot speak for how well it has 
been done because I have not had time to look.  It is on my todo list and might 
float to the surface soon, though initially I would not need to care about 
shape changes.

HTH

Bill


[*] I think we recently discussed a Squeak fork that would not allow touching 
base classes due to packaging limitations.  Not good.  I am not defending the 
ReferenceStream example, but it would be a big problem on that system, if I 
understood that thread.


-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Simon Denier
Sent: Tuesday, September 15, 2009 8:32 AM
To: Pharo Development
Subject: [Pharo-project] Object serialization in Pharo

Hi folks

I'm looking at the code and comments of ReferenceStream for object 
serialization and I wonder what is the best strategy to serialize a partial 
model. I mean, I want to store all elements found while traversing the graph of 
the model, but I dont want to store some attributes of those elements (i.e., 
transient attributes).

Any sample?

--
  Simon




_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to