David Orchard's Theory of Compatible Versions

by Rick Jelliffe

First, Happy New Year to friends and readers!

David Orchard has an article up at XML.COM entitled A Theory of Compatible Versions. It looks at versioning of XML Schemas as a sets-and-subsets issue. The punchline is Languages can be compatibly versioned successfully if the first version of a language defines an Accept Text Set that is a superset of the Defined Text Set, as well as a substitution rule for transforming texts in the Accept Text Set into the Defined Text Set.

And the more that partial understanding is used, the more changes will be compatible rather than incompatible. I agree with the idea of partial understandings, but the substitution rules seem to me to be, in part or in whole, ways of reconciling artificial constraints imposed by the limited expressive power of grammars, rather than necessarily being real. When you only have a hammer, every thumb looks like a sore thumb.

It is an interesting example of the kind of hoops that you have to jump through to make grammars work outside the most trivial examples. Grammars encourage or perhaps force you to build in decisions about positions that are not sourced from any business requirements. (There is a theory that this is a good thing, because every time you force a decision on position you may save a bit for compressibility, believe it or not; but that is slim pickings.)


Rick Jelliffe
2007-01-01 04:33:30
(Thanks to stelt? for pointing out typo.)