On Sun, Jun 29, 2008 at 1:35 PM, nicolas cellier ncellier@ifrance.com wrote:
This is the idea of replacing a "binary blob" (the image) with an automatically generated "textual blob" (a textual description of the object graph, or a script to reconstruct object graph).
Is it usable? A maintainer will use diff tools to check difference between two versions. Unfortunately, a small difference in an Object graph (think graph, not tree) might result in a big difference in textual representation. Such generator should take care to generate minimal textual diffs... That means diffing two general graph, analyzing previous textual representation and producing a textual representation closest to previous one.
What a maintainer would need, is rather a new diff tool able to perform above operation, find the diffs between two images...
A tool that analyzes a foreign image and generates a script able to convert this image to the foreign one...
Not simple, a naive implementation would not work, for example because of sourcePointers, an image is not independant form it's change files...
Not simple at all! I know this isn't exactly the same as what you are talking about, but I saw some presentations at Smalltalk Solutions dealing with file-based code storage and/or analysis:
http://www.stic.st/stic?content=sts08Detail#june18Detail
Using VisualWorks Store for GemStone Code Management
Porting experience report
Smalltalk Development Tools: Bringing Smalltalk to Eclipse
I think the consensus was "it's hard!"
Rob