[Pharo-project] Now you can use Fuel with FileSystem

Mariano Martinez Peck marianopeck at gmail.com
Sun Jan 8 14:55:41 CET 2012

On Sun, Jan 8, 2012 at 11:15 AM, Guido Stepken <gstepken at googlemail.com>wrote:

> Hi Mariano!
> Love it, great work!
> Love objects StOMPing, rSTing, Fueling around between images at runtime.
> Do you have examples how to realize realtime mirroring (HA) with it?
No I don't. But I guess we have the bases/infrastructure for that. From
what I can tell you with Fuel, you can export contexts, closures, classes,
traits, compiled methods, etc. So at least from the serialization point of
view, that should be working.

Not exactly the same, but just to show you, in ESUG 2011 I showed how I
could serialize a living debugger from one image, open it in another one,
and continue debugging from there...having the state and everything. Then I
also showed how I can save the state when an error happens (PharoDebug.fuel
in addition to PharoDebug.log) into a file and debug it later on in the
same or another image. In fact, Esteban Lorenzano was trying that for a
real app. Instead of sending logs the client send a .fuel of the serialized

Dave Lewis said Fuel could be used for RemoteTask:

Nick Papoylias (PhD just next to my desk haha) is working with rST and he
may use Fuel as well for the serialization part. But not sure what he will
exactly do with rST. He have several things in mind like remote debugging :)

Maybe someone has done something more. That's all I know.


> tnx in advance, Guido Stepken
>  Am 07.01.2012 23:25 schrieb "Mariano Martinez Peck" <
> marianopeck at gmail.com>:
>  Hi guys. Now you can use FileSystem streams for Fuel. Fuel only needs one
>> small package 'FuelFileSystem' which has just 3 extension methods, and
>> that's all ;)
>> There is also 'FuelFileSystemTests' which let's you run all fuel tests
>> using FS. If you want to do that, change FLSerializationTest >> setUp to
>> send #useFileSystemFileStream  rather than #useStandardFileStream and
>> that's all.
>> To install:
>> Gofer new
>>     squeaksource: 'MetacelloRepository';
>>     package: 'ConfigurationOfFuel';
>> load.
>> (ConfigurationOfFuel project version: #bleedingEdge) load: 'withFS'.
>> An example:
>>     | sourceArray loadedArray serializer stream materializer |
>>     sourceArray :=
>>         Array
>>             with: 'a string'
>>             with: Transcript
>>             with: [ Transcript show: 'a string' ].
>>     "Create a file and serialize on it"
>>     stream := (FSLocator imageDirectory / 'example.fuel') writeStream.
>>     serializer := FLSerializer newDefault.
>>     serializer serialize: sourceArray on: stream.
>>     stream close.
>>     "Load from the file"
>>     stream := (FSLocator imageDirectory / 'example.fuel') readStream.
>>     materializer := FLMaterializer newDefault.
>>     loadedArray := (materializer materializeFrom: stream) root.
>> Cheers
>> --
>> Mariano
>> http://marianopeck.wordpress.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gforge.inria.fr/pipermail/pharo-project/attachments/20120108/edc90f79/attachment.htm>

More information about the Pharo-project mailing list