[Pharo-project] I need some advice (was Re: [squeak-dev] Organising and Documenting Micro-Universes in Squeaksource)

Göran Krampe goran at krampe.se
Fri Mar 20 10:08:40 UTC 2009


Hi!

Stéphane Ducasse wrote:
> Hi goran
> 
> I did not get at all why you need a new format.
> Without self.
> I think that if you want adoption of deltastream do not mix them with  
> a file format.

I am sorry, perhaps you haven't followed the reasoning, a quick recap:

1. Deltas are not bound to a specific format on disk. You can store them 
in any way you like. They are "self contained object graphs" in the 
image and can trivially be serialized.

2. Matthew made a format called "Interleaved ChangeSet" which combines 
binary data with the chunk format meaning that a Delta can be stored 
both as a changeset (loosing lots of info) and a Delta embedded inside 
it. This means an old image can "file it in" just like a cs.

3. I think the Interleaved format is a bit too complex and while it is 
"cool" I don't think the use case is *that* important (being backward 
compatible for images that don't know what a Delta is). It is probably 
simpler to include easy conversion delta2cs and cs2delta. These 
conversions are not lossless however.

4. Since I wanted a readable, simple, fast, editable, and secure format 
for Deltas - I came up with Tirade. Chunk format is readable, simple and 
editable but it is not fast nor secure. It is also less "declarative" in 
nature IMHO.

Tirade is well defined, small and simple. The Tirade package is just a 
few classes and it is intended to work in "all Squeaks" - no 
dependencies on any advanced stuff.

Tirade is a "data format" - it is NOT "Smalltalk code", it just happens 
to match a lot of syntax and concepts. It is "merely" a sequence of 
keyword messages with "data" as arguments (String, Symbol, Arrays, 
Associations and Numbers - nested however you like). That is it. No 
assignment, no variables, no globals, no expressions etc etc. It is NOT 
Smalltalk. Adding "self" to it has no purpose, well, the ONLY purpose 
would be to make it "look" like Smalltalk.

Now... this is repeating stuff I have already written elsewhere - but 
there ya go. :)

regards, Göran




More information about the Squeak-dev mailing list