[Esug-list] ESUG SummerTalk - Fuel, binary object serializer
philippe.marschall at gmail.com
Wed May 25 00:39:58 EDT 2011
2011/5/24 Martin Dias <tinchodias at gmail.com>:
> Hi folks. I am really happy to announce that ESUG is sponsoring me for Fuel
> development through the ESUG SummerTalk. I am Martin Dias, a student at
> Buenos Aires, Argentina. The idea behind this SummerTalk is to implement
> Fuel, a binary, fast and general-purpose object graph serializer in Pharo.
> It is based on VisualWorks' Parcels ideas.
Please excuse me if this is the wrong forum to discuss things.
> Actually, the project has already started since several months. Tristan
> Bourgois and I started with the project while doing an internship with RMoD,
> INRIA. Since a couple of months, Mariano Martinez Peck joined the team, and
> now he is the official mentor in the SummerTalk.
> ESUG website for SummertTalk:
> The website with all the necessary information is here:
> It even includes slides explaining the algorithm. In addition, a paper is in
Could you make the slides available in some other format than Flash?
> For the moment, Fuel already provides the following features:
> - Fast pickle format. It is much faster to materialize than to serialize.
What has led to the conclusion that materialization is more important
than serialization? I can image scenarios when there is a one to one
relationship and scenarios where serialization is more important (e.g.
> - Correctly support class reshape (when the class of serialized objects has
So what do you do when an instance variable was added? Set it to nil
and hope that everything will continue to work?
> - Serialize ANY kind of object. For the moment there is no object to our
> knowledge that we cannot serialize and materialize.
Really? You serialize Socket, Process, FileStream and something
> - Be able to completely serialize classes and traits (not just a global
> - Support cycles and avoid duplicates in the graph.
> - Integration to Moose with an extension to export and import their models.
> - Detection of globals: for example if you serialize Transcript, it is not
> duplicated and instead managed as a global reference.
> - Solve common problems like Set rehash.
> - Buffered writing: we use a buffered write stream for the serialization
> part (thanks Sven!).
> - No need of special support from the VM.
> - Try to have a good object oriented design.
> - Well tested (about 120 tests, for the moment).
> - Large set of benchmarks (even benchmarks for Moose extension).
> And of course, there are a lot features for the future. You can see some of
> them in the website and some in the issue tracker:
> We really appreciate all kind of feedback and comments. If you want to try
> it, check in the website how to do it. It is extremely easy.
> Once again, I want to thank a lot to ESUG for sponsoring the project. I plan
> to create a "news" section in the website with some RSS. I will keep you
More information about the Esug-list