On 04/25/2012 01:11 AM, Dale Henrichs wrote:
Okay, so Tirade isn't a generic parser for a well-defined syntax like STON
Well... :) I am not sure if you read my whole post but it does do nested arrays and associatons etc so it seems to match STON fairly well, if we disregard the class mechanism of STON. But yes, it is primarily constructed as a "serializer for Smalltalk messages" and not as a "serializer for Smalltalk objects".
and it looks like it really shines when it comes to doing dynamic interpretation of streams of messages ....
Right.
now I better understand how Tirade can be applied to deltas or creating executable logs that can be replayed ...
Yes, although in DeltaStreams I do not use it like that - I use it to serialize objects, but Deltas consists of lots of different Change objects and each such Change object is serialized using a specific Tirade message. Thus the reader simply implements all those messages and creates the appropriate objects. One *very* nice aspect of this is that we do not encode classes in the actual files, the reader decides which class to instantiate. Thus the files are much more robust against change. In that sense I am not that fond of putting classes explicitly in the STON file.
At this point in time for disk-based structures that humans and computers are expected to understand it seems that a well-defined syntax is useful.
Dale
Sure. And at least it was fun to explain a bit about Tirade. And I ended up adding support for literal arrays :) regards, Göran