>> - it looks more like the rest of RNC, is less verbose
>
> I believe James reckons it a virtue that annotations *don't* look
> like the rest of RNC.
I believe annotations need to be harmonious with yet easily distinguishable
(both by programs and humans) from the rest of RNC. I think the current
syntax meets this requirement; the use of square brackets distinguishes
annotations from the rest of the syntax, but all other aspects are
consistent. For example, the only difference between lists of datatype
parameters and lists of attributes is that one is enclosed in curly braces
and the other is enclosed in square brackets.
If you were to use curly braces for annotations, then you would need some
sort of keyword or operator to distinguish annotations (which would make it
more verbose not less, though that is not necessarily a fault). If people
prefer this, then they need to make a thought-through proposal (i.e.
provide a BNF).
If you were use XML syntax, then it becomes very non-harmonious: for
example, you would have two kinds of string literals, those in the XML
fragments specifying attribute values and those outside, with different
rules for escaping and quoting. You also end up with attribute annotations
having a similar, but slightly different syntax from attributes on element
annotations.
James