Stef, Mariano, There are obvious advantages to a development phase during which serialized streams are at risk. At some point, I suspect Fuel will have to take the reading of old streams as a nearly sacred obligation. Otherwise, it sounds like a cheap horror movie series: "Fuel II: Your data go in, but they don't come out."
I am using humor to make a point, not to ridicule you. I read the paper, and learned a LOT. Please see my post from yesterday referring to Dolphin's #environment. You might be able to simply facade old formats into a coherent backwardly-compatible whole. Without some attention to that, there are going to be projects that will not adopt Fuel. Bill ________________________________________ From: [email protected] [[email protected]] On Behalf Of Mariano Martinez Peck [[email protected]] Sent: Sunday, October 16, 2011 9:03 AM To: [email protected] Subject: Re: [Pharo-project] When will Fuel file format stabilize? On Sun, Oct 16, 2011 at 3:01 PM, Mariano Martinez Peck <[email protected]<mailto:[email protected]>> wrote: On Sun, Oct 16, 2011 at 2:03 PM, Stéphane Ducasse <[email protected]<mailto:[email protected]>> wrote: Mariano I think that the point that Philippe (our national butcher) is trying to make is the following: If by design a serializer takes the perspective that it will be able to load old formats and ensure evolution all the time then you have a really cool serializer. Yes, I know. The problem is if it is worth it. The effort of providing such feature could be too much in compare to just load a previous version, materialize, load new version, and serialize again. Now why in fuel it is not possible to have FuelMaterializer load: aFile load using the default = current format FuelMaterializer load: aFile asOfVersion: 1.4 Of course this can be much slower but when you want to load data of the past you are just happy that this is working. So would not be possible to milestone formats get the default working fast get old version loading slowler but loading. It sounds easy, but at least from what I can see this is very complicated. Do you know a serializer that support this? Lets clarify with an example: (of course, without putting all along the code IFs like (version > 2) ifTrue: [blabla] ) I serialize graph X with Fuel 1.4 in Pharo 1.1. Then I am in Pharo 1.3 with Fuel 1.7 and I want to materialize X. Fuel 1.4 doesn't load anymore in Pharo 1.3, so you have to use Fuel 1.7. So you want to be able to take Fuel 1.7 and materialize X "using version 1.4" without even loading 1.4 (because it doesn't load) ? Thanks Because then we get a win win situation. Stef -- Mariano http://marianopeck.wordpress.com -- Mariano http://marianopeck.wordpress.com
