Ext. and Vers. Languages Part 1 dated 26 July 2006

A while back, I took an action to review the latest versioning draft.
A few initial comments follow.

At a high level, I think it's coming together pretty well. Once the
content has stabalized, it needs a significant editorial pass, but I
haven't tried to record all of my editorial suggestions today.

Section 1.1.1 ends with several principles:

   Language V2 is backwards compatible with Language V1 if Language V2
   Information set > (superset) Language V1 Information set.

I'm not sure I agree with that statement, or perhaps I don't
understand what it means. First, I would expect it to be trivially the
case that a language is backwards compatible with itself, so I think
">=" is the necessary relationship. Second, this principle seems to be
ignoring syntax. If I rename all the terminal symbols in a language,
it's not backwards compatible, but it contains the same information
set.

    Language V2 is forwards compatible with Language V1 if Language V1
    Syntax > (superset) Language V2 Syntax.

This time, it seems that the question of semantics is being ignored.
Removing an optional attribute would satisfy the syntactic requirement
of this principle, but changing the meaning of the tokens could also
still make the language not forward compatible.

In Section 1.1.1.1 there is a good practice note:

    Use Least Partial Languages: Consumers should use a flavour of a
    language that has the least amount of understanding.

I think I see what this good practice is getting at, but I don't think
it can be expressed in those terms. Languages don't have
"understanding", if I understood the opening definitions correctly,
consumers have understanding.

I'm also not sure that I agree that it's universally a good practice
to accept partial understanding.

                                        Be seeing you,
                                          norm

-- 
Norman Walsh
XML Standards Architect
Sun Microsystems, Inc.

Received on Tuesday, 22 August 2006 16:57:16 UTC