Re: Interplatform (interprocess, interlanguage) communication
an example is this:
<foo> <bar value="3"/> </foo>
(foo (bar 3))
now, consider one wants to add a new field to 'foo' (say 'ln').
<foo ln="15"> <bar value="3"/> </foo>
(foo 15 (bar 3))
a difference here is that existing code will probably not even notice
the new XML attribute, whereas the positional nature of most
Ahem. You mean other than failing schema validation?
S-Expressions makes the latter far more likely to break something (and
More likely than failing schema validation was for that well-designed XML-based
there is no good way to "annotate" an S-Exp, whereas with XML it is
fairly solidly defined that one can simply add new attributes).
Attributes in XML are not annotation (with or without quotes). That role is filled by the actual 'annotation' element
note: my main way of working with XML is typically via DOM-style
interfaces (if I am using it, it is typically because I am directly
working with the data structure, and not as the result of some dumb-ass
"data binding" crud...).
Sorry, "dumb-ass 'data-binding' crud"?
Why the extreme pejoratives? I would not say that there's anything wrong with
XML data-binding /per se/, although as with documented-oriented approaches it
can be done very badly.
typically, the "internal representation" and "concrete serialization"
I don't understand what you mean here. You cite these terms in quotes as though
they are a standard terminology for some specific things, but use them in their
ordinary meaning. The internal representation of what? The serialization
("concrete" or otherwise) of what? I don't mean to be obtuse here, but I am not
grokking the referents.
I may use a textual XML serialization, or just as easily, I could use a
likewise for S-Exps (actually, I probably far more often represent
S-Exps as a binary format of one form or another than I use them in a
form externally serialized as text).
all hail the mighty DOM-node or CONS-cell...